在 CentOS 上启动 Node.js 程序,常见有几种方式,从简单运行到生产环境守护进程,下面按场景给你说明。
node app.js
⚠️ 缺点:
node app.js &
或
nohup node app.js > app.log 2>&1 &
查看进程:
ps -ef | grep node
停止:
kill -9 进程ID
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
✅ 重启服务器后 Node 会自动启动
vi /etc/systemd/system/nodeapp.service
内容示例:
[Unit]
Description=Node.js App
After=network.target
[Service]
ExecStart=/usr/bin/node /www/app/app.js
WorkingDirectory=/www/app
User=root
Restart=always
[Install]
WantedBy=multi-user.target
注意:
/usr/bin/node用which node查看- 路径改成你自己的
systemctl daemon-reload
systemctl start nodeapp
systemctl enable nodeapp
systemctl status nodeapp
which node
如果是 nvm 安装的,建议用绝对路径或 systemd 指定环境
netstat -tunlp | grep 3000
| 场景 | 方式 |
|---|---|
| 测试 | node app.js |
| 临时 | nohup |
| 生产 | ✅ PM2 / systemd |
如果你愿意,可以告诉我:
我可以给你精确配置。