日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PM2 node进程管理工具 自动部署小结

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PM2 node进程管理工具 自动部署小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PM2 的功能不多做介紹了,總之使用簡單,功能強大。
今天實現了本地自動部署node項目到服務器的流程。簡單總結下幾個注意點。
建議先看 文檔

  • 先要保證要部署的服務器上(以下簡稱server)能直接ssh拉倉庫代碼,比如 git clone git@gitee.com:finley/demo.git。不行的話配下server生成ssh-key,然后把public key告訴代碼倉庫服務商,比如coding.net, github。
  • 權限問題,比如server的登錄用戶是Ubuntu,將來項目要部署在/home/ubuntu下面,可以執行下 sudo chown ubuntu:ubuntu /home/ubuntu/.pm2/* 不然可能會部署失敗。
  • 部署成功后會在配置的項目路徑里出現以下三個目錄:
  • current -- 當前服務運行的文件夾(是source的軟鏈接)
    share -- log pid 等共享數據
    source -- clone 下來的源代碼

  • 配置腳本
  • module.exports = {/*** Application configuration section* http://pm2.keymetrics.io/docs/usage/application-declaration/*/apps : [{name : 'NODE-API',script : 'server.js',env_development: {NODE_ENV: 'development',SERVER_PORT: 8081,LOGSTASH_URL: 'http://localhost/finley/PHP/test.php'},env_production : {NODE_ENV: 'production',SERVER_PORT: 8081,LOGSTASH_URL: 'http://192.168.100.16:9700'}}],/*** Deployment section* http://pm2.keymetrics.io/docs/usage/deployment/*/deploy : {// 項目信息// 下面的配置是我用什么用戶登錄哪個服務器,從哪拉代碼,項目存到什么位置。拉完執行的腳本是啥'node1' : {user : 'ubuntu',// 寫成數組,可以同時部署到多臺服務器host : '119.254.xxx.xxx',ref : 'origin/develop',repo : 'ssh://git@demo.com/demo.git',// 項目的存放地址,會生成current, source, share目錄path : '/home/ubuntu/node-project',// "ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],"post-deploy" : 'npm install && pm2 startOrRestart ecosystem.config.js --env production'}} };
  • 執行命令, 如果是windows,在CMD中執行沒用,建議在git bash下執行。
    node1就是要部署的項目名稱
    pm2 deploy ecosystem.config.js node1 setup
    這個命令只是拉倉庫代碼
    pm2 deploy ecosystem.config.js node1
    執行這個命令會執行 post-deploy,運行項目
  • pm2 reload 和pm2 restart 有啥區別

    官方說明:As opposed to restart, which kills and restarts the process, reload achieves a 0-second-downtime reload.
    簡單理解:
    restart = stop+start
    reload = 重新讀取配置文件
    具體用哪個要根據項目運行實際情況,有些項目需要7*24運行,不得stop,這時候用reload比較好。

    總結

    以上是生活随笔為你收集整理的PM2 node进程管理工具 自动部署小结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。