用nodejs+mongo做了一个自己的项目,想放到云主机上,做完了发现一头雾水,毫无头绪,但愿此文章能给和我差不多的新手帮助。 首先 怎么把代码弄到服务器上 话说java项目直接打包成war包,C#在vs里发布成dll,这nodejs怎么搞,就这也苦逼了半天。 结论:nodejs是脚本语言,不需要编译,你写的所有.js文件都要上传服务器。。。。。和php差不多 我的做法,在oschina里弄了个私人项目,传到oschina上,从上面克隆到服务器上。 cd dir //进入你放代码的目录 git clone https://git.oschina****/你的项目 cd 你的项目目录 node app.js //启动 如果需要更新 git pull origin 如果要分支 自己百度吧~
其次 云主机的选择 之前参加了一个线下的沙龙,有阿里的同学来分享alinode,他们自己修改了底层,做了一些监控,然后我就朝着这个方向选的。 钱也付了,主机开通了,发现alinode的服务器初始化版本都很低,node还是0.几版本的,还需要自己升级。 更苦逼的是楼主选错了主机,选了按量付费,还不能备案,还不能转包月,我可不想重新部署一份,放弃,转投了qq。 结果发现qq要便宜一点(不算打广告吧,实话实说啊),而且也有node环境,于是就搞了一个,但是alinode那高大上的监控肯定没了,基本的cpu啊,内存监控还是有的。 艰苦的备案中~
然后 部署 主机开通后,弄个putty直接本地ssh连接。
server { listen 80; server_name www.域名.cn 域名.cn;//写本文的时候发现这个地方还写错了,还解析成功了,见了鬼了,我也不知道这个有没有用。 access_log /usr/local/nginx/log/access.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection “”; proxy_pass http://nodejs; } } nginx的重启: cd /usr/local/nginx/sbin ./nginx -s reload
数据库 安装mongodb,建表 这个不难的,自己百度吧,麻烦的可能会wget不下来,就像上面说的把https换成http,或者借别人的主机用下。 域名解析 这个不说了吧。
最后 启动 node app.js 关闭后进程就over了,怎么办? 感谢cnode,我用的forever。 npm install forever cnode里朋友发的帖子里还提了sudo,不知道干啥的,我加了报错,就没加。 装好后 forever start app.js -harmony //我用了koa,yield,所以要-harmony forever stop app.js //关闭
差不多了吧。本人菜鸟,好多linux命令也不会,nodejs全自学,祝大家好运! 老鸟请忽略~