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 -g
//全局安装该模块
启动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在这个环境变量的目录下
浙公网安备 33010602011771号