在CentOS系統上部署Node.js項目,可以按照以下步驟進行:
首先,你需要在CentOS上安裝Node.js。你可以使用NodeSource提供的Node.js二進制分發庫來安裝特定版本的Node.js。
添加NodeSource倉庫:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
安裝Node.js:
sudo yum install -y nodejs
驗證安裝:
node -v
npm -v
PM2是一個進程管理器,可以幫助你管理和保持Node.js應用程序在線。
安裝PM2:
sudo npm install pm2 -g
驗證安裝:
pm2 -v
假設你的項目已經準備好,并且有一個package.json
文件。
克隆項目到服務器:
git clone <你的項目倉庫URL>
cd <項目目錄>
安裝項目依賴:
npm install
啟動項目:
pm2 start app.js --name <你的應用名稱>
其中,app.js
是你的入口文件,<你的應用名稱>
是你給應用起的名字。
你可以使用PM2的配置文件來管理你的應用。
創建一個PM2配置文件(例如ecosystem.config.js
):
module.exports = {
apps: [{
name: 'my-app',
script: 'app.js',
instances: 'max',
exec_mode: 'cluster',
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}]
};
使用配置文件啟動應用:
pm2 start ecosystem.config.js --env production
為了提高性能和安全性,你可以使用Nginx作為反向代理。
安裝Nginx:
sudo yum install nginx -y
啟動并啟用Nginx服務:
sudo systemctl start nginx
sudo systemctl enable nginx
配置Nginx反向代理:
編輯Nginx配置文件(通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
):
server {
listen 80;
server_name <你的域名或IP>;
location / {
proxy_pass http://localhost:3000; # 假設你的Node.js應用運行在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;
}
}
重啟Nginx服務:
sudo systemctl restart nginx
你可以使用PM2的命令來監控和管理你的Node.js應用。
查看應用狀態:
pm2 status
查看日志:
pm2 logs <你的應用名稱>
停止應用:
pm2 stop <你的應用名稱>
重啟應用:
pm2 restart <你的應用名稱>
通過以上步驟,你就可以在CentOS系統上成功部署Node.js項目了。