CentOS下部署运行NodeJs Web App
来自: http://www.cnblogs.com/giveiris/p/5246319.html
NodeJs Web App测试完成后,要怎么部署呢?介绍两个不错的方案
已知以下情景:
-
我要为 「 kenniu 」这个项目做配置
-
它的入口文件在 「/path/to/entry.js」
-
运行的User和Group都是 MrKen
-
node安装在了 /usr/bin/node
-
监听端口是2589
接下分别看这两种方案。
壹 | Fisrt
方案一:配置System,24小时保持在线
-
cd /etc/systemd/system/
-
sudo vi kenniu.service 输入以下配置信息
- sudo chmod +x kenniu.service, 加上可执行权限
完成以上操作即可,非常简单。
启动:sudo systemctl start kenniu
除了start以外,可以 stop、restart,以及status 查看状态(出错时可查看)。此外,还可以 sudo systemctl enable kenniu 来使这项服务 开机自动启动
亲测OK,很爽很好用!
优点:
-
配置简单,学习成本低
-
出错自动重启,24保持在线(如果频次太高也是会切断的,所以最靠谱的保障还是得靠监控)
-
通用,不但CentOS支持,其他版本的Linux也支持
缺点:
-
不太灵活
貳 | Second
方案二:编写Service init脚本
-
cd /etc/init.d/ 或 /etc/rc.d/init.d/
-
sudo vi kenniu,输入shell脚本(后面再细讲)
-
sudo chmod +x kenniu
-
sudo chkconfig --add kenniu
完成以上操作即可。
启动:sudo service start kenniu
除了start以外,可以 stop、restart等。
亲测成功,也很爽!
方案二的脚本怎么写
到目前为止都很简单,就剩下最难的——脚本怎么写。
其大体的框架如以下伪代码,看注释。另外 点击 可以获取我的完整配置,根据你的情况把上边的变量值改一下即可用。
优点:
-
自已写脚本处理,非常灵活,包括各个步骤要输出什么提示语都可以自己掌控
缺点:
-
需要学些shell脚本
-
不太通用,貌似CentOS、RedHat等才支持,不甚清楚
此文是闲暇时,把之前公众号的文章搬过来的。