在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
安裝完成后,你可以驗證Node.js和npm是否正確安裝。
node -v
npm -v
在你的服務器上創建一個目錄來存放你的Node.js項目。
mkdir ~/my-nodejs-app
cd ~/my-nodejs-app
使用npm初始化你的項目。
npm init -y
將你的項目文件上傳到服務器上的項目目錄中,然后安裝項目依賴。
npm install
如果你需要配置環境變量,可以在~/.bashrc或/etc/profile.d/目錄下創建一個腳本文件。
# 在 ~/.bashrc 或 /etc/profile.d/ 下創建一個腳本文件,例如 setenv.sh
echo "export NODE_ENV=production" >> ~/.bashrc
source ~/.bashrc
你可以使用npm start命令來啟動你的Node.js應用。
npm start
如果你希望項目在后臺運行,可以使用pm2來管理你的Node.js應用。
sudo npm install -g pm2
pm2 start app.js --name my-app
pm2 list
pm2 stop my-app
pm2 restart my-app
如果你希望通過Nginx來代理你的Node.js應用,可以按照以下步驟進行配置。
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
編輯Nginx配置文件,例如/etc/nginx/conf.d/default.conf。
server {
listen 80;
server_name yourdomain.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
如果你使用的是CentOS 7或更高版本,可能需要配置防火墻以允許HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
完成以上步驟后,你的Node.js項目應該已經在CentOS上成功部署并運行了。