欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用upstart把nodejs應(yīng)用封裝為系統(tǒng)服務(wù)實(shí)例

 更新時(shí)間:2014年06月01日 21:59:21   作者:  
這篇文章主要介紹了使用upstart把nodejs應(yīng)用封裝為系統(tǒng)服務(wù)實(shí)例,需要的朋友可以參考下

一、nodejs應(yīng)用普通部署方式介紹

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

復(fù)制代碼 代碼如下:
/root/deploy/movie

然后搞命令:
復(fù)制代碼 代碼如下:

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

上面的方式,nodejs程序會(huì)在當(dāng)前的console界面中運(yùn)行,一旦console結(jié)束,應(yīng)用也會(huì)停止。我們改一下命令,讓程序在后臺(tái)運(yùn)行

復(fù)制代碼 代碼如下:

~ 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

這樣程序就就在后臺(tái)啟動(dòng)了。進(jìn)程正常運(yùn)行著,我也不用做太多的事情。

如果我想停止這個(gè)程序,怎么辦呢? 找到nodejs的系統(tǒng)進(jìn)程,再殺死。

復(fù)制代碼 代碼如下:

~ 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 

直接暴力解決。如果能像系統(tǒng)服務(wù)一樣,來啟動(dòng)和關(guān)閉nodejs應(yīng)用,多好??!下面就通過upstart來完成把nodejs應(yīng)用封裝為系統(tǒng)服務(wù)。

二、 把應(yīng)用封裝為upstart任務(wù)腳本

復(fù)制代碼 代碼如下:

~ 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

三、 使用upstart管理nodejs應(yīng)用

啟動(dòng)nodejs-moive應(yīng)用(上面的任務(wù)腳本),進(jìn)程ID:21257

復(fù)制代碼 代碼如下:

~ 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


查看運(yùn)行狀態(tài), 進(jìn)程21257正常運(yùn)行
復(fù)制代碼 代碼如下:

~ status nodejs-moive
nodejs-moive start/running, process 21257

殺死nodejs應(yīng)用進(jìn)程21257,通過upstart管理,nodejs-moive應(yīng)用會(huì)自動(dòng)重啟

復(fù)制代碼 代碼如下:

~ kill -9 21257

#自動(dòng)重啟日志
~ tail -f /var/log/moiveme.log
[2013-06-21T09:21:33.662Z] (moive.me) Starting

#查看系統(tǒng)進(jìn)程,發(fā)現(xiàn)進(jìn)行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

#查看進(jìn)程狀態(tài),進(jìn)程ID確實(shí)變了,而且是自動(dòng)完成的
~ status nodejs-moive
nodejs-moive start/running, process 21280


這樣很方便地我們可以通過upstart,以系統(tǒng)服務(wù)的方式管理nodejs應(yīng)用。運(yùn)維起來會(huì)很容易??!

相關(guān)文章

  • Node.js?應(yīng)用探索文件解壓縮示例詳解

    Node.js?應(yīng)用探索文件解壓縮示例詳解

    這篇文章主要為大家介紹了Node.js?應(yīng)用探索文件解壓縮示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Node.js的路由、EJS模板引擎、GET和POST請(qǐng)求講解

    Node.js的路由、EJS模板引擎、GET和POST請(qǐng)求講解

    這篇文章介紹了Node.js的路由、EJS模板引擎、GET和POST請(qǐng)求,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?'--local'?are?deprecated解決

    npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?&apo

    這篇文章主要給大家介紹了關(guān)于npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?'--local'?are?deprecated.?Use?`--location=global`?instead.的解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 輕松創(chuàng)建nodejs服務(wù)器(4):路由

    輕松創(chuàng)建nodejs服務(wù)器(4):路由

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(4):路由,服務(wù)器需要根據(jù)不同的URL或請(qǐng)求來執(zhí)行不一樣的操作,我們可以通過路由來實(shí)現(xiàn)這個(gè)步驟,需要的朋友可以參考下
    2014-12-12
  • Node.js文件系統(tǒng)fs擴(kuò)展fs-extra說明

    Node.js文件系統(tǒng)fs擴(kuò)展fs-extra說明

    這篇文章主要介紹了Node.js文件系統(tǒng)fs擴(kuò)展fs-extra說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 從零開始學(xué)習(xí)Node.js系列教程四:多頁面實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端示例

    從零開始學(xué)習(xí)Node.js系列教程四:多頁面實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端示例

    這篇文章主要介紹了Node.js多頁面實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端,結(jié)合具體實(shí)例形式分析了nodejs客戶端提交與服務(wù)端處理實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • nodejs實(shí)例解析(輸出hello world)

    nodejs實(shí)例解析(輸出hello world)

    本文主要介紹nodejs實(shí)例解析:輸出hello world的完整過程。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • Ajax獲取node服務(wù)器數(shù)據(jù)的完整步驟

    Ajax獲取node服務(wù)器數(shù)據(jù)的完整步驟

    這篇文章主要給大家介紹了關(guān)于Ajax獲取node服務(wù)器數(shù)據(jù)的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • iPhone手機(jī)上搭建nodejs服務(wù)器步驟方法

    iPhone手機(jī)上搭建nodejs服務(wù)器步驟方法

    這篇文章主要介紹了iPhone手機(jī)上搭建nodejs服務(wù)器步驟方法,本文給出了詳細(xì)的操作步驟以及操作命令,需要的朋友可以參考下
    2015-07-07
  • node進(jìn)程管理工具PM2用法詳解

    node進(jìn)程管理工具PM2用法詳解

    本文詳細(xì)講解了node進(jìn)程管理工具PM2的用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論