在CentOS系統(tǒng)部署Node.js項(xiàng)目的完整指南
環(huán)境準(zhǔn)備與Node.js安裝
執(zhí)行以下命令配置NodeSource倉(cāng)庫(kù)并安裝最新LTS版本:
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo yum install -y nodejs
node -v && npm -v
項(xiàng)目配置與運(yùn)行
- 克隆項(xiàng)目倉(cāng)庫(kù)至部署目錄
- 安裝項(xiàng)目依賴:
npm install --production
- 配置環(huán)境變量文件(.env)
- 測(cè)試應(yīng)用運(yùn)行:
npm start
進(jìn)程管理與持久化運(yùn)行
通過PM2實(shí)現(xiàn)應(yīng)用監(jiān)控和日志管理:
sudo npm install -g pm2
pm2 start app.js --name "my-app"
pm2 save
pm2 startup systemd
Nginx反向代理配置
創(chuàng)建/etc/nginx/conf.d/nodeapp.conf配置文件:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
執(zhí)行配置驗(yàn)證與重啟:sudo nginx -t && sudo systemctl reload nginx
防火墻與安全配置
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
部署驗(yàn)證與監(jiān)控
- 通過域名或服務(wù)器IP訪問應(yīng)用
- 實(shí)時(shí)查看運(yùn)行日志:
pm2 logs my-app
- 監(jiān)控進(jìn)程狀態(tài):
pm2 monit
生產(chǎn)環(huán)境維護(hù)建議
- 定期執(zhí)行:
pm2 update
保持進(jìn)程管理工具更新 - 配置日志輪轉(zhuǎn)防止磁盤占滿
- 設(shè)置自動(dòng)化測(cè)試與CI/CD流程
- 啟用HTTPS加密通信