一、安裝Node到服務(wù)器
1. 創(chuàng)建node文件夾
默認(rèn) /opt 下邊 /opt/node
也可建到其他地方,如/usr/local/node 等
創(chuàng)建后切換到文件夾下
cd /opt/node
cd /opt/node
2. 下載node并解壓
使用命令下載node
wget https://nodejs.org/dist/v18.12.0/node-v18.12.0-linux-x64.tar.xz
wget https://nodejs.org/dist/v18.12.0/node-v18.12.0-linux-x64.tar.xz
或者到node官網(wǎng)下載tar包到本地然后上傳到node所在位置
上傳 scp命令為
scp node-v18.12.0-linux-x64.tar.xz root@0.0.0.0:/opt/node
scp node-v18.12.0-linux-x64.tar.xz root@0.0.0.0:/opt/node
也可使用FTP工具手動上傳
SCP命令的基本用法
scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory
/path/to/source/file – 這是打算復(fù)制到遠(yuǎn)程主機的源文件。
user@server-IP: – 這是遠(yuǎn)程系統(tǒng)的用戶名和 IP 地址。請注意 IP 地址后面加冒號":"。
/path/to/destination/directory – 這是文件將復(fù)制到的遠(yuǎn)程系統(tǒng)上的目標(biāo)目錄。
scp命令常用的幾個選項
-C
- 這會在復(fù)制過程中壓縮文件或目錄。-P
- 如果默認(rèn) SSH 端口不是 22,則使用此選項指定 SSH 端口。-r
- 此選項遞歸復(fù)制目錄及其內(nèi)容。-p
- 保留文件的訪問和修改時間。
3. 解壓文件
解壓命令:
tar -c 創(chuàng)建包, –x 釋放包, -v 顯示命令過程, –z 代表壓縮包, -f 表示文件名
使用:
tar xvf node-v18.12.0-linux-x64.tar.xz
tar xvf node-v18.12.0-linux-x64.tar.xz
注意:需要在壓縮包所在位置,按照上方操作默認(rèn)為/opt/node
4. 創(chuàng)建軟鏈接,使node和npm命令全局有效
1. 命令創(chuàng)建軟鏈接(建議采用)
創(chuàng)建npm
ln -s /opt/node/node-v18.12.0-linux-x64/bin/npm /usr/local/bin/npm
ln -s /opt/node/node-v18.12.0-linux-x64/bin/npm /usr/local/bin/npm
創(chuàng)建node
ln -s /opt/node/node-v18.12.0-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/node/node-v18.12.0-linux-x64/bin/node /usr/local/bin/node
創(chuàng)建完成后校驗node和npm
node -v npm -v
node -v
npm -v
如需yarn或pnpm可全局安裝后,用命令配置軟鏈接
安裝yarn(pnpm操作相同)
npm install yarn -g
npm install yarn -g
配置軟鏈接
ln -s /opt/node/node-v18.12.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln -s /opt/node/node-v18.12.0-linux-x64/bin/yarn /usr/local/bin/yarn
校驗yarn
yarn -v
yarn -v
看到這里應(yīng)該發(fā)現(xiàn)了命令的規(guī)則,后邊安裝pnpm或者其他將命令中yarn改為對應(yīng)的即可
ln -s 源文件 目標(biāo)文件
ln -s 源文件 目標(biāo)文件
目標(biāo)文件一般為 /usr/local/bin 下邊 如yarn為 /usr/local/bin/yarn
2. 手動配置軟鏈接
使用vi/vim工具打開配置文件進行編輯,如果對下方命令比較生疏的情況,建議采用第一種命令方式
打開配置文件命令
vi /etc/profile
增加node配置信息(注意空格和標(biāo)點符號比較容易出錯的地方)
# node config
export NODE_HOME="/opt/node/node-v18.12.0-linux-x64"
export PATH="$NODE_HOME/bin:$PATH"
配置完成后保存后執(zhí)行命令
source /etc/profile
source /etc/profile
執(zhí)行命令可如果有報錯可以百度,也可留言看到后會盡快回復(fù)
配置完成后校驗npm和node命令
node -v npm -v
node -v
npm -v
手動配置軟鏈接的方式比較通用,后續(xù)使用npm全局安裝yarn或pnpm也可直接使用
其他方式
安裝nvm后使用nvm安裝node,這也是一種安裝方式,但是服務(wù)器中建議采用第一種方式,這一種就不做多闡述了。
二、PM2配置在服務(wù)器中關(guān)閉窗口能繼續(xù)正常運行的Node環(huán)境
在整理前邊的步驟后,感覺還是把這一部分加上,不然就像是有了子彈沒有槍,要一直打開著窗口不敢動了。
為了處理Nodejs在服務(wù)器中運行后,關(guān)閉窗口就斷掉的問題,我們需要引入一個工具pm2。
PM2 是一個守護進程管理工具,幫助您管理和守護您的應(yīng)用程序。它以簡單直觀的 C??LI 命令行方式進行工作。
這是官網(wǎng)的描述,也可以到官網(wǎng)文檔了解更多,pm2中文文檔連接:https://pm2.fenxianglu.cn/docs/start, pm2英文文檔連接:https://pm2.keymetrics.io/docs/usage/quick-start/
本文簡單描述安裝以及運行的簡單步驟,復(fù)雜的或者想深入了解的還是到文檔里全一點。
1. 安裝pm2
在上邊安裝node后的基礎(chǔ)上,直接采用node命令進行安裝
npm install pm2@latest -g
npm install pm2@latest -g
# or
yarn global add pm2
2. 創(chuàng)建pm2軟鏈接
這里跟上邊node配置一樣,有命令創(chuàng)建和手動創(chuàng)建,如果上邊node采用手動創(chuàng)建,這里就不需要配置了直接生效,如果是命令配置的這里需要運行下邊的命令
ln -s /opt/node/node-v18.12.0-linux-x64/bin/pm2 /usr/local/bin/pm2
ln -s /opt/node/node-v18.12.0-linux-x64/bin/pm2 /usr/local/bin/pm2
創(chuàng)建完成后運行下邊命令校驗
pm2 list
pm2 list
操作后會顯示如下
3. 用pm2運行npm/yarn/pnpm服務(wù)
這個可以直接運行Nextjs、Nuxtjs或默認(rèn)nodejs等服務(wù)
pm2 start -n demo npm – run dev
pm2 start -n demo npm -- run dev
警告:上面這種方式僅適用到 linux 系統(tǒng),window 系統(tǒng)無效且報錯
windows用pm2運行的方式,這里不做介紹,有用到的同學(xué)可以移步到文檔中查看 pm2啟動-npmyarnpnpm-應(yīng)用
demo 為自己啟動項目的唯一標(biāo)識,后邊操作暫停、刪除、重啟等操作的name
項目的運行也要在對應(yīng)項目中進行,比如項目為/opt/test-app就要再其路徑下運行(個人操作習(xí)慣),暫停、刪除等操作則在全局
4. pm2管理應(yīng)用
上邊介紹的為安裝和運行,運行pm2要在對應(yīng)的項目中,但是pm2對應(yīng)用的管理則在全局,根據(jù)自己運行時候所定的唯一標(biāo)識name進行操作,管理應(yīng)用的操作如下:
$ pm2 restart app_name 重啟app_name 項目
$ pm2 reload app_name 重載app_name 項目
$ pm2 stop app_name 停止app_name 項目
$ pm2 delete app_name 刪除app_name項目
pm2 restart app_name
pm2 reload app_name
pm2 stop app_name
pm2 delete app_name
pm2 restart和pm2 reload 區(qū)別
pm2 restart 為重啟項目,該命令會停止Node.js應(yīng)用程序的所有進程,并重新啟動它們。
如果你的應(yīng)用程序正在處理請求,它們將被中斷,直到新的進程啟動并開始處理請求。這種方式可能會導(dǎo)致一些請求失敗或者丟失,但是可以確保所有進程都使用最新的代碼運行。
pm2 reload為重載項目,該命令會在不停止Node.js應(yīng)用程序的情況下重新加載代碼。
如果你的應(yīng)用程序正在處理請求,它將繼續(xù)處理這些請求,而不會中斷服務(wù)。pm2 reload命令會重新啟動Node.js應(yīng)用程序的所有進程,并在重新加載代碼后將請求路由到新的進程。這種方式可以避免中斷服務(wù),但是可能會導(dǎo)致一些請求失敗或者丟失。
雖然restart和reload都可以用來作為代碼更新操作,但是reload可以做到0秒宕機加載新的代碼,restart則是重新啟動,生產(chǎn)中經(jīng)常采用reload進行代碼更新的操作。
5. 其他pm2命令
列出應(yīng)用程序
pm2 list
查看日志
pm2 logs
指定行數(shù)日志
例如200行文章來源:http://www.zghlxwxcb.cn/news/detail-720897.html
pm2 logs --lines 200
最后,以上就是pm2常用的操作,基礎(chǔ)的node安裝和pm2運行項目按照上邊的步驟就都沒問題了,如果需要什么負(fù)載均衡、docker集成、監(jiān)控等操作的,可以到pm2官方文檔中查看,如果本文對您有所幫助歡迎點贊留言,如果有什么疑問也可留言,在看到后會第一時間回復(fù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-720897.html
到了這里,關(guān)于保姆級阿里云ESC服務(wù)器安裝nodejs和服務(wù)器node服務(wù)管理工具PM2安裝使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!