生產環境下通過pm2部署node簡單例項

2021-08-02 11:06:15 字數 4167 閱讀 3367

(1)建立乙個資料夾project

(4)將project資料夾通過xftp放到/root檔案目錄下

(1)使用xshell連線到生產環境

(2)wget -qo- | bash //安裝nvm

(3) nvm install v6.10.2 //安裝node6.10.2

(4)nvm use v6.10.2 //使用v6.10.2

(5)nvm alias default v6.10.2 //讓預設版本就是v6.10.2

(6)node -v //檢視node版本

(7)npm install -g cnpm --registry= //安裝cnpm

(8)cnpm i pm2 -g //安裝pm2模組(i是install的縮寫)

(9) cd /root/project //進入到專案所在資料夾

pm2  list      //檢視當前啟動的程序

pm2 show 0 //檢視某個程序的詳細資訊(0是list出表中的id值)

pm2 logs //檢視全部日誌(也可以根據第二步列出的詳細資訊檢視某個程序的日誌)

pm2 restart 0 //重啟指定的程序

pm2 restart 0 //重啟指定的程序

pm2 stop 0 //停止指定的程序

pm2 stop all //停止所有程序

pm2 reload all //0秒停機過載程序 (用於 networked 程序)

pm2 delete 0 //殺死指定的程序

pm2 delete all //殺死全部程序

開啟瀏覽器訪問0.0.0.0:8081就可以頁面返回了8081說明部署成功(0.0.0.0替換成你的生產環境位址)

一、簡介

pm2是乙個帶有負載均衡功能的應用程序管理器,類似有supervisor,forever,詳細引數見官網:

二、安裝

cd oneinstack/src

wget

tar xzf node-v4.2.4-linux-x64.tar.gz

cp node-v4.2.4-linux-x64/bin/node /usr/local/bin/

cp -r node-v4.2.4-linux-x64/lib/node_modules /usr/local/lib/

ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

npm install pm2@latest -g #安裝最新版本pm2模組

ps: 如果你的主機無法連線公網,先找到能連公網的主機安裝上面的方法安裝pm2,然後拷貝到你要安裝的主機,拷貝如下目錄:

/usr/local/bin/node

/usr/local/lib/node_modules

再建立相關軟連線即可

三、pm2常用命令

1. 啟動

2. 檢視程序

# pm2 list

# pm2 show 0 或者 # pm2 info 0 #檢視程序詳細資訊,0為pm2程序id

3. 監控

# pm2 monit

4. 停止

# pm2 stop all #停止pm2列表中所有的程序

# pm2 stop 0 #停止pm2列表中程序為0的程序

5. 過載

# pm2 reload all #過載pm2列表中所有的程序

# pm2 reload 0 #過載pm2列表中程序為0的程序

6. 重啟

# pm2 restart all #重啟pm2列表中所有的程序

# pm2 restart 0 #重啟pm2列表中程序為0的程序

7. 刪除pm2程序

# pm2 delete 0 #刪除pm2列表中程序為0的程序

# pm2 delete all #刪除pm2列表中所有的程序

8. 日誌操作

# pm2 logs [--raw] #display all processes logs in streaming

# pm2 flush #empty all log file

# pm2 reloadlogs #reload all logs

9. 公升級pm2

# npm install pm2@lastest -g #安裝最新的pm2版本

# pm2 updatepm2 #公升級pm2

10. 更多命令引數請檢視幫助

# pm2 --help

四、pm2目錄結構

預設的目錄是:當前用於的家目錄下的.pm2目錄(此目錄可以自定義,請參考:五、自定義啟動檔案),詳細資訊如下:

$home/.pm2 #will contain all pm2 related files

$home/.pm2/pm2.log #pm2 logs

$home/.pm2/pm2.pid #pm2 pid

$home/.pm2/rpc.sock #socket file for remote commands

$home/.pm2/pub.sock #socket file for publishable events

$home/.pm2/conf.js #pm2 configuration

五、自定義啟動檔案

建立乙個test.json的示例檔案,格式如下:

}引數說明:

name:應用程式的名稱

cwd:應用程式所在的目錄

script:應用程式的指令碼路徑

exec_interpreter:應用程式的指令碼型別,這裡使用的shell,預設是nodejs

min_uptime:最小執行時間,這裡設定的是60s即如果應用程式在60s內退出,pm2會認為程式異常退出,此時觸發重啟max_restarts設定數量

max_restarts:設定應用程式異常退出重啟的次數,預設15次(從0開始計數)

exec_mode:應用程式啟動模式,這裡設定的是cluster_mode(集群),預設是fork

error_file:自定義應用程式的錯誤日誌檔案

out_file:自定義應用程式日誌檔案

pid_file:自定義應用程式的pid檔案

watch:是否啟用監控模式,預設是false。如果設定成true,當應用程式變動時,pm2會自動過載。這裡也可以設定你要監控的檔案。

六、例項展示

已上面的test.json為例

# cat > /data/wwwroot/nodejs/test.sh <> 1.log

sleep 5

done

eof然後執行如下命令:

# chmod +x test.sh #新增執行許可權

# pm2 start test.json #啟動,如下圖:

nodejs pm2的簡單應用nodejs pm2的簡單應用

# pm2 list #檢視pm2程序,如下圖:

nodejs pm2的簡單應用nodejs pm2的簡單應用

PM2部署nodejs專案

1.全域性安裝pm2 npm install g pm2 安裝最新版本pm2 npm install pm2 latest g 更新記憶體中的pm2 pm2 update 2.啟動專案,執行啟動檔案 pm2 start server.js 3.列出pm2管理的所有程序資訊 pm2 list 4.顯示...

nuxt專案用pm2部署

1.專案根目錄下 新建ecosystem.config.js 2.配置 module.exports env production deploy ref origin master repo 專案倉庫 path 專案在伺服器上的路徑 post deploy yarn yarn run build p...

如何使用pm2部署前端專案

前端部署有很多種方式,場景的有jenkins,pm2,docker等技術,今天主要介紹使用pm2部署,因為公司一直在使用,也一直想徹底的理解部署的流程。pm2是什麼?開始上手 const express require express express const routeruser express...