在 CentOS 上启动 Node.js 项目,常见方式如下(从简单到生产级):
node -v
npm -v
如果没有安装:
# 使用 NodeSource(推荐)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
进入项目目录:
cd /path/to/your/project
启动:
node app.js
✅ 适合临时测试,关闭终端进程会停止。
nohupnohup node app.js > app.log 2>&1 &
查看进程:
ps -ef | grep node
停止:
kill -9 PID
⚠️ 不稳定,服务器重启需手动启动。
sudo npm install -g pm2
pm2 start app.js
或指定名称:
pm2 start app.js --name my-node-app
pm2 list # 查看运行列表
pm2 logs my-node-app # 查看日志
pm2 restart my-node-app
pm2 stop my-node-app
pm2 delete my-node-app
pm2 startup
pm2 save
sudo vi /etc/systemd/system/node-app.service
内容示例:
[Unit]
Description=Node.js App
After=network.target
[Service]
User=root
WorkingDirectory=/path/to/your/project
ExecStart=/usr/bin/node /path/to/your/project/app.js
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start node-app
sudo systemctl enable node-app
查看状态:
sudo systemctl status node-app
lsof -i:3000
kill -9 PID
sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
| 场景 | 推荐方式 |
|---|---|
| 本地测试 | node app.js |
| 后台运行 | PM2 |
| 生产环境 | PM2 或 systemd |
如果你愿意,可以告诉我:
我可以给你一套完整部署方案。