アップロードを使って、nodejsアプリケーションをシステムサービスの実例としてカプセル化します.
やっとnodejsのアプリケーションをオンラインで展開します.ソースコードをgitで目次の下にコピーします.
/root/deploy/movie
そしてコマンドを実行します
~ cd /root/deploy/movie
node ./app.js
上記のように、nodejsプログラムは現在のconsoneインターフェースで実行されます.コンサートが終わると、アプリケーションも停止されます.コマンドを変更して、プログラムをバックグラウンドで実行します.
~ 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のシステムプロセスを見つけて、また殺します.
~ 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アプリケーションを起動してクローズすることができれば、いいですね.以下はアップロードを通じて、nodejsアプリケーションをシステムサービスにパッケージ化します.二、アプリをアップロードタスクスクリプトにパッケージする
~ 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
三、アップロード管理のnodejsアプリケーションを使うnodejs-moiveアプリケーション(上のタスクスクリプト)を起動し、プロセスID:21257
~ 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は正常に実行されます.
~ status nodejs-moive
nodejs-moive start/running, process 21257
nodejsアプリケーション21257を殺し、アップロード管理を通じて、nodejs-moiveアプリケーションは自動的に再起動されます.
~ 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
これは便利です.私たちはアップロードを通じて、システムサービスでnodejsアプリケーションを管理できます.維持するのは簡単です!