源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用upstart把nodejs应用封装为系统服务实例

  • 时间:2021-09-28 12:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用upstart把nodejs应用封装为系统服务实例
[b]一、nodejs应用普通部署方式介绍[/b] 终于要把nodejs的应用程序部署上线了, 把源代码通过git复制到目录下面
[u]复制代码[/u] 代码如下:
/root/deploy/movie
然后搞命令:
[u]复制代码[/u] 代码如下:
~ cd /root/deploy/movie node ./app.js
上面的方式,nodejs程序会在当前的console界面中运行,一旦console结束,应用也会停止。我们改一下命令,让程序在后台运行
[u]复制代码[/u] 代码如下:
~ node ./app.js & [1] 21333 [2013-06-21 09:38:30.696] [INFO] console - Start App: http://jb51.net [2013-06-21 09:38:30.700] [INFO] console - Express server listening on port 3000
这样程序就就在后台启动了。进程正常运行着,我也不用做太多的事情。 如果我想停止这个程序,怎么办呢? 找到nodejs的系统进程,再杀死。
[u]复制代码[/u] 代码如下:
~ ps -aux|grep node root     21333  0.6  3.7 909200 38292 pts/0    Sl   09:38   0:00 node app.js ~ kill -9 21333 
直接暴力解决。如果能像系统服务一样,来启动和关闭nodejs应用,多好啊!下面就通过upstart来完成把nodejs应用封装为系统服务。 [b]二、 把应用封装为upstart任务脚本[/b]
[u]复制代码[/u] 代码如下:
~ vi /etc/init/nodejs-moive.conf description "node.js jb51.net" start on startup stop on shutdown script     export HOME="/root/deploy/movie"     echo $$ > /var/run/moiveme.pid     export NODE_ENV=production     exec /usr/bin/node /root/deploy/movie/server.js     #日志输出     #exec /usr/bin/node /root/deploy/movie/server.js >> /var/log/moiveme.log 2>&1 end script pre-start script     echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/log/moiveme.log end script pre-stop script     rm /var/run/moiveme.pid     echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /var/log/moiveme.log end script
[b]三、 使用upstart管理nodejs应用[/b] 启动nodejs-moive应用(上面的任务脚本),进程ID:21257
[u]复制代码[/u] 代码如下:
~ start nodejs-moive nodejs-moive start/running, process 21257 ~ tail -f /var/log/moiveme.log [2013-06-21T09:21:17.122Z] (moive.me) Starting ~ ps aux|grep node root     21257  8.0  3.7 909204 37824 ?        Ssl  09:21   0:00 /usr/bin/node /root/deploy/movie/server.js
查看运行状态, 进程21257正常运行
[u]复制代码[/u] 代码如下:
~ status nodejs-moive nodejs-moive start/running, process 21257
杀死nodejs应用进程21257,通过upstart管理,nodejs-moive应用会自动重启
[u]复制代码[/u] 代码如下:
~ kill -9 21257 #自动重启日志 ~ tail -f /var/log/moiveme.log [2013-06-21T09:21:33.662Z] (moive.me) Starting #查看系统进程,发现进行ID变了 ~ ps -aux|grep node root     21280  9.1  3.7 909204 37704 ?        Ssl  09:21   0:00 /usr/bin/node /root/deploy/movie/server.js #查看进程状态,进程ID确实变了,而且是自动完成的 ~ status nodejs-moive nodejs-moive start/running, process 21280
这样很方便地我们可以通过upstart,以系统服务的方式管理nodejs应用。运维起来会很容易!!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部