在CentOS上部署Node.js項目可以分為幾個步驟。以下是一個基本的指南:
首先,你需要在CentOS上安裝Node.js和npm。你可以使用NodeSource的二進制分發庫來安裝最新版本的Node.js。
# 添加NodeSource庫
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安裝Node.js和npm
sudo yum install -y nodejs
PM2是一個進程管理器,可以幫助你管理和保持Node.js應用程序的在線狀態。
sudo npm install pm2 -g
你可以使用scp
、rsync
或其他文件傳輸工具將你的Node.js項目上傳到CentOS服務器。
scp -r /path/to/your/project user@your_server_ip:/path/to/deploy
進入項目目錄并安裝所需的npm包。
cd /path/to/deploy/your_project
npm install
如果你的項目需要特定的環境變量,可以在/etc/profile.d/
目錄下創建一個新的腳本文件來設置這些變量。
sudo vi /etc/profile.d/my_project.sh
在文件中添加你的環境變量:
export NODE_ENV=production
export PORT=3000
然后使環境變量生效:
source /etc/profile.d/my_project.sh
使用PM2啟動你的Node.js應用程序。
pm2 start app.js --name your_project_name
你可以使用以下命令查看PM2管理的進程:
pm2 list
如果你希望通過Nginx來處理HTTP請求并將它們轉發到你的Node.js應用程序,可以按照以下步驟進行配置。
sudo yum install nginx -y
編輯Nginx配置文件:
sudo vi /etc/nginx/nginx.conf
在server
塊中添加以下內容:
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;
}
}
sudo systemctl restart nginx
確保你的防火墻允許HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
使用PM2來監控你的應用程序和查看日志。
pm2 monit
pm2 logs your_project_name
通過以上步驟,你應該能夠在CentOS上成功部署你的Node.js項目。