Node.js 服務(wù)部署(pm2 詳細(xì)使用)

一、相關(guān)介紹

1.1 跨平臺設(shè)置使用環(huán)境變量

cross-env
github
npmjs

1.2 應(yīng)用管理

  • supervisor
    一個(gè)客戶端/服務(wù)器系統(tǒng),允許其用戶在類UNIX操作系統(tǒng)上控制許多進(jìn)程
    github(star5.2k)

  • node-supervisor
    nodejs開發(fā)的小supervisor,可以運(yùn)行程序并監(jiān)視代碼修改,依次實(shí)現(xiàn)熱加載
    github(star3.5k)

  • forever
    一個(gè)簡單的CLI工具,確保給定腳本永久運(yùn)行
    github(star12k)

  • nodemon
    用于開發(fā)中服務(wù)熱加載
    github(star17.6k)

  • pm2
    github(star28.4k)
    具有負(fù)載均衡器的Nodejs 應(yīng)用程序進(jìn)程管理工具(后面重點(diǎn)介紹

  • 一些不太熱門的
    node-windows
    用于Windows 的nodejs腳本,支持進(jìn)程守護(hù),事件日志,賬戶控制等功能
    (node-mac & node-linux)同

二、pm2

優(yōu)點(diǎn)

  • 管理,監(jiān)控并保持永久運(yùn)行Node.js 應(yīng)用
  • 經(jīng)常接收超過1800次的測試攻擊
  • 可以運(yùn)行在Linux 、 macOS 、 Windows平臺
  • 支持Node.js 4.X以上的所有版本
  • 可以用于Python, Ruby等其他語言的應(yīng)用程序
  • 使用簡單

簡單應(yīng)用

首先全局安裝pm2

$ npm install pm2@latest -g

啟動(dòng)應(yīng)用

$ pm2 start app.js

通過配置啟動(dòng)

$ pm2 start process.yml

process.yml(注:yml格式)

apps:
  - script : app.js
    name : 'app'
    instances: 3
    exec_mode: cluster
    watch: true

其他常用操作具體使用可參考官網(wǎng)文檔

pm2 list
pm2 logs
pm2 start app.js -i max
pm2 restart <id|name>
pm2 show <id|name>
pm2 stop <id|name>
pm2 delete <id|name>
pm2 describe <id|name>
pm2 monit

注:id或name 可替換為all,表所有

開機(jī)自啟動(dòng)

  • 保存當(dāng)前進(jìn)程狀態(tài)
$ pm2 save
  • 生成開機(jī)自啟動(dòng)腳本
    注:自動(dòng)檢測平臺
$ pm2 startup
  • 復(fù)制腳本執(zhí)行

  • 移除啟動(dòng)腳本

$ pm2 unstartup

ps:上述不適合Windows系統(tǒng)

使用其他庫生成自啟動(dòng)腳本

> npm install pm2-windows-startup -g
> pm2-startup install

pm2 將在啟動(dòng)時(shí)恢復(fù)已保存的進(jìn)程

日志分割

  • pm2 安裝
    pm2 install pm2-logrotate
  • 配置
    max_size 文件最大值,默認(rèn)10M
    retain 循環(huán)數(shù)量,默認(rèn)30
    compress 是否啟用壓縮,默認(rèn)false
    dateFormat YYYY-MM-DD_HH-mm-ss
    rotateModule
    workerInterval 檢查日志大小間隔
    rotateInterval
    TZ
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目光放遠(yuǎn)一點(diǎn),你就不傷心。你看不到黑暗,是因?yàn)檎腥似幢M全力把黑暗擋在你看不到的地方。身為女人,人生最苦的莫過兩件...
    CYM星空閱讀 301評論 0 3
  • 中午直接讓孩子無語了,中午不睡午覺,我在客廳沙發(fā)看手機(jī),也就是這樣老實(shí)點(diǎn),到2點(diǎn)多我把手機(jī)拿走不讓看了,就開始...
  • 做BIUS,其中underline與strikeout,打算用text-decoration來修飾。原以為不能共存...
    馮瑞_FR閱讀 343評論 0 1
  • 2018年6月8日,涵德好父母沙龍的主題是給孩子寬廣的思維空間,由雷云英教練分享。 雷云英教練開篇就發(fā)問:有什么思...
    安靜131閱讀 475評論 0 2

友情鏈接更多精彩內(nèi)容