国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用upstart把nodejs應用封裝為系統服務實例

2019-11-20 14:58:11
字體:
來源:轉載
供稿:網友

一、nodejs應用普通部署方式介紹

終于要把nodejs的應用程序部署上線了, 把源代碼通過git復制到目錄下面

復制代碼 代碼如下:
/root/deploy/movie

然后搞命令:
復制代碼 代碼如下:

~ cd /root/deploy/movie
node ./app.js

上面的方式,nodejs程序會在當前的console界面中運行,一旦console結束,應用也會停止。我們改一下命令,讓程序在后臺運行

復制代碼 代碼如下:

~ node ./app.js &
[1] 21333
[2013-06-21 09:38:30.696] [INFO] console - Start App: http://VeVB.COm
[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應用,多好啊!下面就通過upstart來完成把nodejs應用封裝為系統服務。

二、 把應用封裝為upstart任務腳本

復制代碼 代碼如下:

~ vi /etc/init/nodejs-moive.conf

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

復制代碼 代碼如下:

~ 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,通過upstart管理,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


這樣很方便地我們可以通過upstart,以系統服務的方式管理nodejs應用。運維起來會很容易!!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武山县| 会昌县| 沙洋县| 周宁县| 阆中市| 青河县| 鄂尔多斯市| 东源县| 永胜县| 色达县| 博爱县| 衡山县| 布尔津县| 昌平区| 墨江| 怀远县| 望城县| 寿光市| 兴山县| 宁都县| 天长市| 抚宁县| 和政县| 南丹县| 南平市| 岢岚县| 卢湾区| 崇文区| 贵定县| 湖南省| 凌海市| 临高县| 陈巴尔虎旗| 富民县| 名山县| 临武县| 无棣县| 六安市| 通城县| 固始县| 大丰市|