在 Ubuntu 上启动 Node.js 服务,常见有几种方式,从最简单到生产推荐依次说明:
node app.js
或(如果是 ES Module)
node index.js
⚠️ 缺点:终端关闭,服务就停了
node app.js &
或
nohup node app.js > app.log 2>&1 &
查看进程:
ps aux | grep node
停止:
kill -9 <pid>
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
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
lsof -i:3000
sudo ufw allow 3000
nvm如果你愿意,可以告诉我:
我可以给你一套最合适的具体启动方案。