温馨提示×

centos怎么配置nodejs开机启动

小樊
43
2026-07-08 06:21:07
栏目: 编程语言

在 CentOS 上配置 Node.js 开机自启动,常用有三种方式,推荐程度从高到低如下:


✅ 方式一(推荐):使用 systemd(CentOS 7+ 默认)

1️⃣ 准备 Node.js 项目

假设你的项目路径是:

/opt/myapp

启动命令是:

node /opt/myapp/app.js

2️⃣ 创建 systemd 服务文件

sudo vi /etc/systemd/system/myapp.service

内容示例:

[Unit]
Description=Node.js App
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/node /opt/myapp/app.js
Restart=always
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

⚠️ 注意:/usr/bin/node 换成你自己的 node 路径
可用 which node 查看


3️⃣ 重载 systemd 并启用

sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp

4️⃣ 查看状态

systemctl status myapp

✅ 重启服务器后,Node.js 会自动启动。


✅ 方式二:使用 PM2(最常用,适合生产)

1️⃣ 安装 PM2

npm install -g pm2

2️⃣ 启动项目

pm2 start /opt/myapp/app.js --name myapp

3️⃣ 设置开机启动

pm2 startup
pm2 save

pm2 startup 会输出一条命令,复制并执行即可

✅ 重启后 PM2 会自动拉起 Node 应用


✅ 方式三(不推荐):/etc/rc.d/rc.local

1️⃣ 编辑 rc.local

sudo vi /etc/rc.d/rc.local

添加:

/usr/bin/node /opt/myapp/app.js > /var/log/myapp.log 2>&1 &

2️⃣ 赋予执行权限

sudo chmod +x /etc/rc.d/rc.local

⚠️ 缺点:无自动重启、不好管理、CentOS 8 已弱化


✅ 推荐方案总结

场景 推荐方式
生产环境 ✅ systemd 或 PM2
单服务、简单 systemd
多 Node 服务 PM2
临时测试 rc.local

如果你愿意,可以告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • Node 安装方式(源码 / nvm / yum)
  • 是否有多个 Node 项目

我可以帮你写 完全适配你环境的配置

0