不知道Pomelo的可以wiki先。
Simply follow the instructions given here:
Example install:
sudo apt-get install python-software-properties python g++ make sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs
It installs current stable Node on the current stable Ubuntu. Quantal (12.10) users may need to install the software-properties-common package for the
add-apt-repository
command to work:sudo apt-get install software-properties-common
As of Node.js v0.10.0, the nodejs package from Chris Lea's repo includes both npm and nodejs-dev.
Don't give sudo apt-get install nodejs npm
just sudo apt-get install nodejs
4、安装pomelo
sudo npm install pomelo -g
如果这步出问题,请检查python2.7.x版本是否安装,注意不能用3.x.x版本
5、pomelo init .
记着最后有一个"." ,表示在本目录下初始化站点,一大片create后,如果没有其他提示表示成功
然后输入sh npm-install.sh,注意,这个脚本必须在网站根目录下执行
6、启动项目
pomelo start [development | production] [--daemon]
在game-server 目录下执行pomelo start
若需要后台运行 请先安装
sudo npm install forever -g
再在game-server 目录下执行pomelo start --daemon(注意是--)
启动web服务器
在web-server目录下执行node app
7、访问127.0.0.1:3001(默认端口)
可以看到pomelo页面,单击test game server,可以看到弹出game server is OK
至此pomelo安装完成
下载地址:http://www.jetbrains.com/webstorm/
1、安装webstorm前需要安装JDK
sudo apt-get install default-jdk
2、将webstorm解压
3、运行bin/webstorm.sh
命令行:sh bin/webstorm.sh
至此webstorm安装完成,接下来开始调试pomelo
调试pomelo
以下内容摘自https://github.com/NetEase/pomelo/wiki/使用-WebStorm-IDE-调试-Pomelo-应用程序
打开game-server/config/servers.json
。为了便于便于开发,我们将服务器数目缩减至每功能1个运行实例。这样你就会看到:
我们对gate
服务器的负载分配原理产生了兴趣,想要调试它。这时,我们只需要在{"id": "gate-server-1", ...
的行末,花括号}
前,插入下面代码, "args": " --debug=32312 "
。使gate
服务器的配置组变成这样:
当再次启动服务器时,master
服务器会读取新的配置,并以这个配置运行gate-server-1
服务器。
而该服务器的进程,会监听32312
端口,以便调试器连接。将端口设置的偏高是为了减少端口冲突的可能性。开发过程中,如果启动后发现有报ADDRINUSE
(端口已被占用)的错误,请使用pomelo kill --force
杀光Pomelo程序,并调整此处的端口值。
Edit Configurations...
对话框可以从运行、调试按钮前面的小三角进入,或者从工具栏中选择Run
- Edit Configurations...
。
Node.js Remote Debug
Name
栏名字可以随意起,但最好选择明确易懂的。然后选中Single instance only
,这样只会启动一个调试器。而不会有很多相同的调试器都连到后面指定的调试端口。
下面的Host
写本地127.0.0.1
,Debug Port
填入刚刚上面指定的端口号,我这里用32312
,与前面配置文件中的完全一致。Local directory
指定当前的game-server/app.js
目录所在目录。
当然你可能已经注意到了,这里的Configurations
不仅包含调试,还包括运行配置。运行配置方法跟一般的NodeJS程序配置方法相同。NodeJS新人可以参考图片中配置。注意被框的内容。
如果你有做过运行Chat和Web服务器的配置,现在就可以从运行、调试按钮前面的配置下拉菜单中,分别选择Chat
以及Web
后,点击[►]运行按钮。运行后,可以从IDE下方的控制台输出中查看日志输出,可以检查一下这两个服务器的启动是否成功。如果出现红字,多半表示启动失败。你可以根据提示的报错信息Google或者 提交Issue ,以查找解决方案。
再从配置下拉菜单中选择刚刚的调试配置gate study
,之后点击[☼]调试按钮。检查窗口下方的Debugger
,可以看到有提示说Connected to 127.0.0.1:32312
。
由于我们想调试gate
服务器中,与connector分配相关的代码,所以在IDE中,打开app/servers/gate/handler/gateHandler.js
。定位到 第30行 ,在此处下一个断点。
浏览器中打开 http://127.0.0.1:3001/index.html 会看到 Chat of Pomelo
标题的登录页面。填入两栏表单后,点击【JOIN】按钮。
此时,页面将不会做出任何反应,是因为服务器端的代码被断点拦下了。而IDE会因为调试器而被激活:
下方窗口中,除了常规调试用到的StepOver、StepInto、StepOut等必须功能外,有很多好用的工具,比如即时表达式求值、切换异常发生时自动中断……这里就不深入探讨了。
小技巧:
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
可能正在安装其他程序,请关闭其他安装程序。
无法创建目录或者安装出现error
请使用sudo或者管理员帐号安装
linux可以使用cd xxx && run,即进入xxx目录并且执行run命令,类似与管道命令
安装调试中的一些要点:
1、定义好debug端口,并且在远程调试中配置
2、其他的node.js服务器需要在node.js中配置好
3、要按照项目启动顺序启动,先game-server,然后web-server,然后再运行Node.js Remote Debug
4、配置运行后可以在浏览器中访问,若代码中有断点,则可以进入断点。
5、注意,断点运行后如果要测试其他的,必须Resume Program(F9),然后再运行调试其他的。不能直接刷新页面,直接刷新会导致调试失效。
6、如果发现调试失效了,可以在终止所有运行中的server和Remote Debug,然后在终端窗口执行pomelo kill --force。然后重新启动server和Remote Debug就可以了
7、这里仅是调试gate服务器的配置,如果要调试chat,则需要在servers.json中的chat段加入配置(红色部分)如下:
"chat":[
{"id":"chat-server-1", "host":"127.0.0.1", "port":6050,"args": "--debug=32313"}
]
然后Node.js Remote Debug中配置127.0.0.1:32313即可
转贴:http://blog.sina.com.cn/s/blog_44d803c90101k78j.html