网易 12 年底发布基于 nodejs 的网络游戏框架 pomelo :
1 先安装nodejs
2 安装npm
在安装npm的过程中,可能会出现一些错误:
============================================================================
NPM 安装
============================================================================
yum install open-ssl
yum install python
cd /var/install/soft/
列表地址:http://nodejs.org/dist/
wget http://nodejs.org/dist/v0.8.14/node-v0.8.14.tar.gz
tar -zxf node-v0.8.14.tar.gz
cd node-v0.8.14
./configure
make
此时可能报错:
ImportError: No module named bz2
这是因为python没有bz2扩展
yum install -y bzip2*
cd /tmp/Python-2.7.3/
./configure && make && make install
再次尝试:
cd /var/install/soft/node-v0.8.14
./configure
make
make install
输入 npm 看有无.若有,表示已经成功安装.
没有,则继续下面的:
curl http://npmjs.org/install.sh | sh
如果不成功,直接将:https://github.com/isaacs/npm/blob/master/scripts/install.sh
页面中的脚本复制到一个文件: npm.sh
然后传到服务器上,运行该脚本
输入:npm 有效果.表示安装成功
============================================================================
pomelo 安装
============================================================================
npm install pomelo -g
安装过程中可能报错:
gyp ERR! configure error
gyp ERR! stack Error: Python executable "python" is v2.4.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
在命令行输入: python 查看当前 python 的版本为 2.4.3
按 ctrl + d 退出 python 编辑环境
pomelo 要求 python 为 2.5 到 3.0 的版本
升级完成后,再执行,就会进行安装.安装目录在:
/usr/local/lib/node_modules/pomelo/
3 接下来可以安装IDE:WebStorm(Windows下)
4 测试项目安装:
mkdir helloWorld
cd helloWorld
pomelo init .
运行
chmod +x npm-install.sh
npm-install.sh
cd game-server
启动game-server服务器:
pomelo start [development | production] [--daemon]
在不同的环境下运行,项目的启动方式稍有不同,如果是开发环境则选择development参数(默认值,可不填),如果是产品环境则必须选择production参数(跨多服务器需要支持ssh agent forward)。项目默认是前台运行,若想后台运行项目,请选择参数"--daemon"。
运行:
pomelo start --daemon
后台运行时提示:
Please install forever use command: npm install forever -g.
按照提示运行:
npm install forever -g.
再次运行:
pomelo start --daemon
提示:
Application run in daemon.
Stop the application use the command:pomelo stop.
启动web-server服务器:
cd ../web-server && node app
若想后台运行:
forever start app.js
用这个命令的前提是安装了 forever,前面的 npm install forever -g 已经安装过了.所以可以直接使用.
在这里,我做了一个尝试:
ps -ef | grep node
这里列出了刚才启动的 node 相关进程
有一条是:/usr/local/bin/node /usr/local/lib/node_modules/pomelo/helloWorld/web-server/app.js
我将它杀掉: kill -9 1440
然后再查看进程, 发现该进程还在.不过进程号变了.原因是, 前面是用 forever start 启动的, 它会一直开着,而且进程列表中还有另一监听进程,发现该app.js断了后会自动再次启动它.
同样, 前面的 game-server 也是这样的.
打开页面:
http://192.168.2.251:3001/index.html
可以看到效果。但该官方示例中,启动 web-server 之前有一个文件要修改,就是:
helloWorld/web-server/public/index.html 中,要将 127.0.0.1 改成前面路径中的 IP.
然后再点击页面中的 test game server 即成功。