在 CentOS 下部署 Node.js 项目,一般有以下几种常见方式。下面从基础环境安装 → 项目部署 → 生产环境运行 → 常见方案一步步说明。
curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
验证:
node -v
npm -v
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc
nvm install 18
nvm use 18
sudo yum install -y git
git clone https://github.com/your/project.git
cd project
npm install
或本地打包后:
scp -r project user@ip:/home/user/
node app.js
# 或
npm start
⚠️ 关闭终端即停止
npm install -g pm2
pm2 start app.js
pm2 startup
pm2 save
常用命令:
pm2 list
pm2 logs
pm2 restart app
pm2 stop app
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1: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 nginx -t
sudo systemctl restart nginx
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
使用 Certbot:
sudo yum install -y certbot python2-certbot-nginx
sudo certbot --nginx
| 场景 | 方案 |
|---|---|
| 本地测试 | node app.js |
| 生产环境 | Node + PM2 + Nginx |
| 微服务 | Docker + Node |
| 高可用 | Nginx + 多 Node 实例 |
如果你愿意,可以告诉我:
我可以直接给你一套完整可复制的部署命令。