代码改变世界

nodejs程序开启自动启动 笔记

2014-03-18 15:48  freefei  阅读(1666)  评论(0)    收藏  举报

可行方案:

最近住了一个im 基于nodejs,由于部署子在linux centos上 所以解决了一些列问题 特此笔记:

 

1 im程序的启动

  nodejs程序入库的启动 原本是手动的运行  node run.js 即可。但是手动启动后会占据当前的命令行 窗口 退出窗口后 程序就停止了 。

    解决办法  :先后用了 pm2 和 forever 来实现后台运行

    安装 pm2 

    npm pm2 install

    用pm2可以实现后台运行

   pm2 start run.js   更多pm2知识参考  http://www.cnblogs.com/freefei/articles/3602020.html

   但是在用启动脚本来启动 pm2 start run.js时一直不成功  先后用到了

   cd /etc/rc.local

   脚本中添加启动PM2  启动不成功,后又用chkconfig 添加服务 service 启动 还是不成功,但是也有收获  清楚知道了

   rc.local 的作用和 chkconfig 这两种添加启动的作用

2 rc.local启动脚本和 chkconfig

  (1)  我所理解的rc.local脚本文件 是可以在这里写命令来跟随机器 启动 同时运行脚本  。

  (2) chkconfig 是制作一个系统启动项 让开机的时候自动执行 该操作教麻烦  似乎很厉害的样子, 制作chkconfig 1 .需要到 cd /etc/init.d/** 创建 启动脚本文件  2.创建后 还要添加 chkconfig --add scriptName  3 设置开启 chkconfig --scriptName on 详情 查看相关资料

 

3 最后成功设置启动

  最后我用的是 forever 来实现的

 forever 是实现程序后台启动运行 并监听 功能貌似比较大 但我用的仅仅是 后台运行nodejs 

 (1)安装

     npm install forever -

  //全局安装该模块 

   启动run

   forever start run.js

  (2) 在rc.local 中添加启动脚本 

     export PATH=$PATH:/usr/local/bin
     forever start /www/web/a_03in_com/public_html/im/run.js

  要引入 第一条  export PATH=$PATH:/usr/local/bin 环境变量  因为 forever在这个环境变量的目录下  

 

 

 

@ https://github.com/ranmufei Pop Balloons Game - Free Online Stress Relief Game