一、nodejs应用普通部署方式介绍
终于要把nodejs的应用程序部署上线了, 把源代码通过git复制到目录下面
如果我想停止这个程序,怎么办呢? 找到nodejs的系统进程,再杀死。
二、 把应用封装为upstart任务脚本
description "node.js VeVB.COm"
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
三、 使用upstart管理nodejs应用
启动nodejs-moive应用(上面的任务脚本),进程ID: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
#自动重启日志
~ 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
新闻热点
疑难解答