在 CentOS 上启动 Node.js 服务,一般有以下几种常见方式,从简单到生产级逐步说明。
# 使用 NodeSource(推荐)
curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
yum install -y nodejs
# 验证
node -v
npm -v
假设你的入口文件是 app.js:
cd /path/to/project
node app.js
⚠️ 这种方式:
node app.js &
或
nohup node app.js > app.log 2>&1 &
查看进程:
ps aux | grep node
npm install -g pm2
pm2 start app.js
pm2 list
pm2 logs
pm2 restart app
pm2 stop app
pm2 delete app
pm2 startup
pm2 save
✅ 优点:
vim /etc/systemd/system/node.service
示例内容:
[Unit]
Description=Node.js Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/path/to/project
ExecStart=/usr/bin/node /path/to/project/app.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start node
systemctl enable node
systemctl status node
journalctl -u node -f
用户 → Nginx(80) → Node.js(3000)
Nginx 示例配置:
location / {
proxy_pass http://127.0.0.1:3000;
}
| 场景 | 推荐方式 |
|---|---|
| 本地测试 | node app.js |
| 小型服务 | PM2 |
| 生产服务器 | systemd + Nginx |
| 高可用 | PM2 + Nginx |
如果你愿意,可以告诉我:
我可以直接帮你写完整配置。