温馨提示×

ubuntu nodejs如何开机启动

小樊
44
2026-09-22 01:33:13
栏目: 编程语言

在 Ubuntu 上让 Node.js 程序开机自启动,推荐用 systemd(Ubuntu 16.04+ 默认)。下面给你几种常见方式,从最推荐到简单但不推荐。


✅ 方法一(推荐):systemd 服务

1. 准备 Node.js 项目

假设你的项目在:

/opt/myapp

启动命令是:

node /opt/myapp/index.js

2. 创建 systemd 服务文件

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

内容示例:

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

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

[Install]
WantedBy=multi-user.target

⚠️ User 不要用 root(除非必须)
ExecStart 里的 node 路径用 which node 查

3. 重载并启用

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

4. 查看状态

systemctl status myapp
journalctl -u myapp -f

✅ 重启服务器后会自动启动


✅ 方法二:PM2 + systemd(适合 Node 项目)

1. 安装 PM2

npm install -g pm2

2. 启动项目

pm2 start index.js --name myapp

3. 设置开机启动

pm2 startup
pm2 save

✅ 简单、好管理、适合开发/生产


⚠️ 方法三:rc.local(不推荐)

sudo nano /etc/rc.local

加一行:

node /opt/myapp/index.js &

Ubuntu 新版本可能默认禁用 rc.local


✅ 总结建议

场景 推荐
生产服务 systemd
Node 项目 PM2
临时测试 nohup

如果你告诉我:

  • Ubuntu 版本
  • Node 安装方式(apt / nvm)
  • 是否用 Docker

我可以给你完全对应你环境的配置。

0 踩