書接上回:新購(gòu)服務(wù)器開荒記錄(服務(wù)器安裝寶塔、Nginx、Java、Python、pip、Node、npm)
一、部署Express項(xiàng)目
1.1、安裝Node
要部署Express項(xiàng)目,首先要保證服務(wù)器已經(jīng)安裝好了Node,可以輸入:node --version
查看node的版本:
如果沒有安裝node,可以使用寶塔安裝(推薦),進(jìn)入軟件商店,搜索node,選擇node.js版本管理器1.8進(jìn)行安裝:
安裝好后點(diǎn)擊設(shè)置,點(diǎn)擊更新版本列表(列表每24小時(shí)與Node.js官網(wǎng)列表同步一次,可點(diǎn)擊【更新版本列表】按鈕立即與Node.js官網(wǎng)同步版本列表):
然后選擇需要的node版本進(jìn)行一鍵安裝,一般推薦14或者18版本。
也可以自行下載鏡像安裝,進(jìn)入node官網(wǎng):https://nodejs.org/dist/
選擇需要下載的版本號(hào),下載node,一般可以選擇v16.18.0,解壓后使用以下命令來(lái)編譯、測(cè)試和安裝Node.js:
./configure
make
sudo make install
1.2、安裝pm2進(jìn)程管理器
PM2 是開源的基于 Nodejs 的進(jìn)程管理器,包括守護(hù)進(jìn)程,監(jiān)控,日志的一整套完整的功能。
PM2 是后臺(tái)運(yùn)行程序,關(guān)閉窗口后程序不受影響。
安裝
npm install pm2 -g
也可以通過(guò)寶塔安裝。
安裝完成后檢查是否可用,顯示如下提示說(shuō)明成功
pm -v
1.3、部署Express后端項(xiàng)目
上傳Express項(xiàng)目至opt文件夾,
上傳成功后,cd進(jìn)入項(xiàng)目中,輸入npm i
安裝項(xiàng)目依賴。
然后將項(xiàng)目所用的端口號(hào)開啟一下(我項(xiàng)目用的3001),并且重啟防火墻:
開啟端口號(hào):firewall-cmd --zone=public --add-port=3001/tcp --permanent
重啟防火墻:firewall-cmd --reload
運(yùn)行效果如下:
最后,使用pm2運(yùn)行項(xiàng)目的入口文件:pm2 start app.js
,顯示如下表示項(xiàng)目運(yùn)行成功,如果需要看目前運(yùn)行了哪些項(xiàng)目,可以使用pm2 app.js
查看:
使
二、部署Vue前端項(xiàng)目
2.1、Nginx的下載安裝與SLL配置
首先查找Nginx安裝的路徑,查看是否安裝過(guò)nginx:
輸入:whereis nginx
如果顯示地址,說(shuō)明已經(jīng)安裝過(guò)nginx了。可以跳到2.2步。
如果沒有安裝,首先需要安裝一些必要環(huán)境,在終端中依次輸入以下指令,安裝必要的包
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
下載linux版本的Nginx
官網(wǎng)下載:https://nginx.org/en/download.html
下載穩(wěn)定版本,我下的是1.22.1
安裝包名為nginx-1.22.0.tar.gz,將其放到服務(wù)器的/usr/local/nginx目錄下,初始沒有nginx文件夾需要新建一個(gè)空的nginx。
安裝Nginx
首先需要解壓Nginx的安裝包,先cd /usr/local/nginx
到nginx目錄,然后使用tar -zxvf nginx-1.22.1.tar.gz解壓剛剛下載的安裝包。
然后進(jìn)入nginx-1.22.1文件夾的configure目錄下,輸入:
./configure
make
make install
進(jìn)行安裝,安裝后的完整文件夾如下圖所示:
下一步配置ssl,如果本身沒有ssl模塊,在安裝時(shí)要安裝ssl模塊的nginx:./configure --prefix=/usr/local/nginx --with-http_ssl_module
make進(jìn)行安裝:make
輸入以下cp指令:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/
會(huì)出現(xiàn)是否覆蓋的選項(xiàng),輸入y覆蓋掉
最后輸入whereis nginx
,如果顯示地址,說(shuō)明已經(jīng)安裝過(guò)nginx了。
可能遇見的問(wèn)題
如果提示說(shuō)無(wú)法創(chuàng)建普通文件"/usr/local/nginx/sbin/nginx",需要先暫停nginx再啟動(dòng):/usr/local/nginx/sbin/nginx -s quit(或者niginx -s stop 或者killall nginx)然后再輸入
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
2.2、打包Vue項(xiàng)目
開發(fā)完成后,在終端輸入npm run build
或者vite build
進(jìn)行打包,不同項(xiàng)目的打包指令和流程可能不相同,需要查看package.json的具體配置。
打包完成后,會(huì)生成一個(gè)dist文件夾,就是成功打包。
2.3、上傳項(xiàng)目到Nginx目錄
查找Nginx安裝的路徑,輸入:whereis nginx,找到nginx的目錄,將打包好的文件夾(即dist文件夾)上傳至/usr/local/nginx/html目錄下:
2.4、配置Nginx
進(jìn)入nginx/conf目錄,在其中找到名為nginx.conf的文件,打開,找到server部分:
- 端口號(hào) listen (輸入要監(jiān)聽的端口號(hào),我的是5173);
- 域名配置 server_name (輸入自己服務(wù)器的ip 例如:127.0.0.1 如果有域名可以輸入域名);
- 前端項(xiàng)目存放地址 root:(打包后的vue項(xiàng)目文件夾例如:html/dist);
配置好后,啟動(dòng)Nginx,在nginx下的sbin目錄下輸入./nginx,既可以檢查配置正常啟動(dòng)。
附錄
pm2命令速覽
npm install pm2 -g # 全局安裝pm2
pm2 start app.js -i 4 # 后臺(tái)運(yùn)行pm2,啟動(dòng)4個(gè)app.js
# 也可以把'max' 參數(shù)傳遞給 start
# 正確的進(jìn)程數(shù)目依賴于Cpu的核心數(shù)目
pm2 start app.js --name my-api # 命名進(jìn)程
pm2 list # 顯示所有進(jìn)程狀態(tài)
pm2 monit # 監(jiān)視所有進(jìn)程
pm2 logs # 顯示所有進(jìn)程日志
pm2 stop all # 停止所有進(jìn)程
pm2 restart all # 重啟所有進(jìn)程
pm2 reload all # 0 秒停機(jī)重載進(jìn)程 (用于 NETWORKED 進(jìn)程)
pm2 stop 0 # 停止指定的進(jìn)程
pm2 restart 0 # 重啟指定的進(jìn)程
pm2 startup # 產(chǎn)生 init 腳本 保持進(jìn)程活著
pm2 web # 運(yùn)行健壯的 computer API endpoint (http://localhost:9615)
pm2 delete 0 # 殺死指定的進(jìn)程
pm2 delete all # 殺死全部進(jìn)程
Nginx命令速覽
./nginx -s reload 重啟nginx
./nginx 啟動(dòng)nginx
最后
?? 個(gè)人簡(jiǎn)介:人工智能領(lǐng)域研究生,目前主攻文本生成圖像(text to image)方向
?? 個(gè)人主頁(yè):中杯可樂多加冰
?? 限時(shí)免費(fèi)訂閱:文本生成圖像T2I專欄
?? 支持我:點(diǎn)贊??+收藏??+留言??文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-780770.html
另外,我們已經(jīng)建立了微信T2I學(xué)習(xí)交流群,如果你也是T2I方面的愛好者或研究者可以私信我加入。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-780770.html
到了這里,關(guān)于新購(gòu)服務(wù)器項(xiàng)目部署指南—— Express + Vue + Nginx+ pm2 Nodejs項(xiàng)目部署全流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!