在 Ubuntu 上启动 Node.js,一般分两种情况:
1️⃣ 直接运行 Node.js 程序,2️⃣ 作为服务在后台运行。
下面按常见场景一步步说。
node -v
npm -v
如果没安装,先安装(推荐用 NodeSource):
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
(Node.js 18 是常用的 LTS 版本)
假设你有一个 app.js:
node app.js
✅ 这样就已经“启动 Node.js”了。
nohup(简单但不推荐生产)nohup node app.js > output.log 2>&1 &
查看进程:
ps aux | grep node
停止:
kill <PID>
pm2(强烈推荐 ✅)sudo npm install -g pm2
pm2 start app.js
pm2 list # 查看运行状态
pm2 logs # 查看日志
pm2 restart app # 重启
pm2 stop app # 停止
pm2 delete app # 删除
pm2 startup
pm2 save
如果是 Ubuntu 20.04 / 22.04 + systemd:
sudo nano /etc/systemd/system/nodeapp.service
内容示例:
[Unit]
Description=Node.js App
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/myapp
ExecStart=/usr/bin/node /home/ubuntu/myapp/app.js
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start nodeapp
sudo systemctl enable nodeapp
查看状态:
sudo systemctl status nodeapp
node: command not found说明 Node.js 没装或 PATH 不对。
lsof -i:3000
kill -9 <PID>
不要用 sudo node,而是:
sudo chown -R $USER:$USER /your/project
| 场景 | 建议 |
|---|---|
| 本地测试 | node app.js |
| 开发环境 | pm2 |
| 生产环境 | pm2 或 systemd |
如果你愿意,可以告诉我:
我可以给你一套完全定制化的启动方案 ✅