在 Debian 上启动 Node.js 服务,常见有几种方式,取决于你是临时运行、生产环境还是需要开机自启。下面按常见场景给你说明。
node -v
npm -v
如果没有安装:
sudo apt update
sudo apt install -y nodejs npm
推荐生产环境使用 NodeSource 或 nvm 安装较新版本。
进入你的项目目录:
cd /path/to/your/project
启动服务:
node app.js
或(如果 package.json 中有 scripts):
npm start
⚠️ 这种方式:
&node app.js &
nohupnohup node app.js > output.log 2>&1 &
查看进程:
ps aux | grep node
sudo nano /etc/systemd/system/nodeapp.service
示例内容(按你的情况修改):
[Unit]
Description=Node.js App
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/nodeapp
ExecStart=/usr/bin/node /var/www/nodeapp/app.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意:
WorkingDirectory 是你的项目目录ExecStart 是 node 实际路径(可用 which node 查看)User 建议不要用 rootsudo systemctl daemon-reload
sudo systemctl start nodeapp
sudo systemctl enable nodeapp
sudo systemctl status nodeapp
journalctl -u nodeapp -f
sudo npm install -g pm2
pm2 start app.js --name my-node-app
pm2 startup
pm2 save
pm2 list
pm2 logs my-node-app
pm2 restart my-node-app
pm2 stop my-node-app
| 场景 | 推荐方式 |
|---|---|
| 本地测试 | node app.js |
| 临时后台 | nohup |
| 生产环境 | ✅ PM2 或 systemd |
| 多服务管理 | ✅ PM2 |
如果你愿意,可以把你的 Debian 版本、Node.js 版本、项目目录结构 发给我,我可以帮你写完全可用的 systemd / PM2 配置。