在 Debian 上让 Node.js 程序开机自启,推荐使用 systemd(Debian 8+ 默认),这是最标准、最稳定的方式。
假设:
/opt/myapp/app.jsnpm start 启动/usr/bin/node查看 node 路径:
which node
sudo nano /etc/systemd/system/myapp.service
示例内容(二选一):
[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
ExecStart=/usr/bin/npm start
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
systemctl status myapp
journalctl -u myapp -f
sudo systemctl restart myapp
npm install -g pm2
pm2 start app.js --name myapp
pm2 startup
pm2 save
✅ 重启后会自动恢复
/etc/rc.local(已逐步废弃)crontab @reboot(不稳定)Environment= 显式设置如果你愿意,可以告诉我:
我可以帮你写一份完全适配你的配置。