lunix下使用pm2自動(dòng)化部署Node項(xiàng)目

初次在lunix下部署node項(xiàng)目,寫的不好勿噴,但每一步我都會(huì)寫在上面,如有問題,請(qǐng)多指教!

1、pm2簡(jiǎn)介

pm2(process manager)是一個(gè)進(jìn)程管理工具,維護(hù)一個(gè)進(jìn)程列表,可以用它來管理你的node進(jìn)程,負(fù)責(zé)所有正在運(yùn)行的進(jìn)程,并查看node進(jìn)程的狀態(tài),也支持性能監(jiān)控,負(fù)載均衡等功能。

1.1、使用pm2管理的node程序的好處

? ? ? ? ① 監(jiān)聽文件變化,自動(dòng)重啟程序

? ? ? ? ② 支持性能監(jiān)控

? ? ? ? ③ 負(fù)載均衡

? ? ? ? ④ 程序崩潰自動(dòng)重啟

? ? ? ? ⑤ 服務(wù)器重新啟動(dòng)時(shí)自動(dòng)重新啟動(dòng)

? ? ? ? ⑥ 自動(dòng)化部署項(xiàng)目

下面進(jìn)入正題,首先安裝node環(huán)境,然后安裝pm2,在然后就可以開啟項(xiàng)目,愉快的訪問服務(wù)器上的數(shù)據(jù)咯```

2. 安裝Node.js環(huán)境

2.1 官網(wǎng)下載10.16.3 版本node (已編譯好!如無編譯請(qǐng)編譯安裝)(根據(jù)系統(tǒng)下載 我的是64位的)

指定版本與線上版本一致(包括npm版本 必須保持版本吻合)

wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz (64位)

2.2,解壓 并改名

tar -xvf node-v10.16.3-linux-x64.tar.xz

mv node-v10.16.3-linux-x64 nodejs 修改文件夾(目錄)的名字

2.3、執(zhí)行軟連接 (全局使用npm/node命令)

注意:確認(rèn)一下nodejs下bin目錄是否有node 和npm文件,如果有執(zhí)行軟連接,如果沒有重新下載執(zhí)行上邊步驟

確認(rèn)有node和npm文件了

執(zhí)行軟鏈接?

ln -s /root/nodejs/bin/npm /usr/local/bin/

ln -s /root/nodejs/bin/node /usr/local/bin/

2.4. 執(zhí)行完上面3個(gè)步驟 , 那就OK了 , 此時(shí)在任意目錄下執(zhí)行 node -v 和 npm -v 查看版本號(hào)!

如果成功顯示版本號(hào), 即為安裝成功 , 如果出現(xiàn)錯(cuò)誤, 重新執(zhí)行上面3個(gè)步驟!!!

3.? 安裝pm2

3.1? ? npm install -g pm2 (指定全局)

3.2? ? 配制到全局,雖然安裝到全局,不知道為啥,linux下不像windows下能自動(dòng)創(chuàng)造一個(gè)環(huán)境變量去實(shí)現(xiàn)我們的全局。所以我們需要?jiǎng)?chuàng)建一個(gè)linux下的軟連接。

ln -s /root/nodejs/bin/pm2 /usr/local/bin/

3.3? ? pm2 list? ? ? ? ( 檢查pm2是否安裝成功 )? 顯示下圖即為安裝成功

此時(shí)pm2安裝成功后, 迫不及待的想開啟項(xiàng)目了吧, 那你還得在等等 ~ 皮一下

首先要把本地項(xiàng)目上傳到服務(wù)器中,然后需要在項(xiàng)目中手動(dòng)配置一個(gè)json文件 , 就可以開啟項(xiàng)目咯!!!

4.? 我是用git來直接克隆項(xiàng)目, 首先在項(xiàng)目中新建一個(gè)json文件

配置如下,方便大家 c v

{

? "apps": [{

? ? "name": "app",? ? // 名稱

? ? "script": "./",? ? ? ? // 程序入口

? ? "cwd": "./",? ? ? ? ? // 根目錄

? ? "watch": [

? ? ? "app"

? ? ],? ? //需要監(jiān)控的目錄

? ? "error_file": "./logs/err.log",? ? //錯(cuò)誤輸出日志

? ? "out_file": "./logs/out.log",? ? ? //日志

? ? "log_date_format": "YYYY-MM-DD HH:mm Z"? ? //日期格式

? }]

}

4.2? 配置后把整個(gè)項(xiàng)目推到遠(yuǎn)程倉庫 , 接下來在lunix服務(wù)器中克隆項(xiàng)目~

如果克隆過程中出現(xiàn)問題, 查看解決(https://blog.csdn.net/qq_41989372/article/details/85128271)

4.3? 克隆成功后啟動(dòng)項(xiàng)目

pm2 start processes.json? ( 出現(xiàn)下圖即為項(xiàng)目開啟成功)

更多pm2 常用命令 (https://www.cnblogs.com/crazycode2/p/10941231.html)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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