在 CentOS 上启动 Node.js,常见有几种方式,取决于你是直接运行、后台运行还是生产环境部署。下面从简单到规范一步步说明。
node -v
npm -v
如果没有安装:
# 使用 NodeSource(推荐)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
假设你的入口文件是 app.js:
node app.js
✅ 适合测试 / 开发
❌ 缺点:终端关闭,进程就停了
nohupnohup node app.js > app.log 2>&1 &
查看进程:
ps -ef | grep node
停止进程:
kill -9 PID
screenyum install -y screen
screen -S nodeapp
node app.js
退出但保持运行:
Ctrl + A 然后按 D
重新进入:
screen -r nodeapp
假设:
/opt/nodeappapp.jscd /opt/nodeapp
node app.js
sudo vi /etc/systemd/system/nodeapp.service
内容示例:
[Unit]
Description=Node.js App
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/nodeapp
ExecStart=/usr/bin/node app.js
Restart=always
[Install]
WantedBy=multi-user.target
⚠️ 用
which node确认 node 路径
sudo systemctl daemon-reload
sudo systemctl start nodeapp
sudo systemctl enable nodeapp
查看状态:
systemctl status nodeapp
查看日志:
journalctl -u nodeapp -f
✅ 生产环境强烈推荐
npm install -g pm2
pm2 start app.js --name nodeapp
pm2 startup
pm2 save
pm2 list
pm2 logs
pm2 restart nodeapp
pm2 stop nodeapp
✅ 最推荐用于 Node.js 生产环境
| 方式 | 适合场景 | 推荐指数 |
|---|---|---|
| node app.js | 测试 | ⭐ |
| nohup | 临时 | ⭐⭐ |
| screen | 简单后台 | ⭐⭐ |
| systemd | 生产 | ⭐⭐⭐⭐ |
| PM2 | 生产 | ⭐⭐⭐⭐⭐ |
如果你愿意,可以告诉我:
我可以给你一套完整部署方案。