初次在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文件

{
? "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)目開啟成功)
