温馨提示×

debian nodejs如何开机启动

小樊
37
2026-09-14 11:22:21
栏目: 编程语言

在 Debian 上让 Node.js 程序开机自启,推荐使用 systemd(Debian 8+ 默认),这是最标准、最稳定的方式。


一、使用 systemd(推荐 ✅)

1. 准备你的 Node.js 程序

假设:

  • 程序路径:/opt/myapp/app.js
  • 使用 npm start 启动
  • Node 路径:/usr/bin/node

查看 node 路径:

which node

2. 创建 systemd 服务文件

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

示例内容(二选一):

方式 A:直接运行 node

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

[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/node /opt/myapp/app.js
Restart=on-failure
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

方式 B:使用 npm

ExecStart=/usr/bin/npm start

3. 重载并启用

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

4. 常用命令

systemctl status myapp
journalctl -u myapp -f
sudo systemctl restart myapp

二、使用 PM2(适合开发/部署)

1. 安装 PM2

npm install -g pm2

2. 启动应用

pm2 start app.js --name myapp

3. 设置开机启动

pm2 startup
pm2 save

✅ 重启后会自动恢复


三、不推荐但可用(旧方式)

  • /etc/rc.local(已逐步废弃)
  • crontab @reboot(不稳定)

四、常见问题

  • 权限问题:服务用户要有目录权限
  • 端口占用:确保 80/443 未被占用
  • 环境变量:用 Environment= 显式设置

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

  • Debian 版本
  • Node 启动方式(node / npm / pm2)
  • 是否用 root 运行

我可以帮你写一份完全适配你的配置

0