温馨提示×

ubuntu nodejs怎么启动服务

小樊
39
2026-08-31 22:25:02
栏目: 编程语言

在 Ubuntu 上启动 Node.js 服务,通常有以下几种常见方式,按从简单到生产可用来说明:


一、最基础的启动方式(开发/测试)

1. 已有 Node.js 项目

cd /path/to/project
node app.js
# 或
node index.js

如果是使用框架:

# Express
node server.js

# 使用 npm scripts
npm start

二、后台运行(不阻塞终端)

2. 使用 &(不推荐长期使用)

node app.js &

关闭终端可能会终止进程。


3. 使用 nohup(简单稳定)

nohup node app.js > app.log 2>&1 &

查看日志:

tail -f app.log

三、使用 PM2(强烈推荐,生产常用)

4. 安装 PM2

sudo npm install -g pm2

5. 启动服务

pm2 start app.js

6. 常用命令

pm2 list
pm2 logs
pm2 restart app
pm2 stop app
pm2 delete app

7. 开机自启

pm2 startup
pm2 save

四、使用 systemd(服务器标准方式)

8. 创建服务文件

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

示例内容:

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

[Service]
User=ubuntu
WorkingDirectory=/path/to/project
ExecStart=/usr/bin/node /path/to/project/app.js
Restart=always

[Install]
WantedBy=multi-user.target

9. 启动服务

sudo systemctl daemon-reload
sudo systemctl start nodeapp
sudo systemctl enable nodeapp

查看状态:

sudo systemctl status nodeapp

五、常见端口 & 防火墙

# 查看端口
sudo netstat -tlnp | grep node

# 开放端口(如 3000)
sudo ufw allow 3000

六、常见问题

  • 端口被占用:改端口或杀进程
  • node 命令不存在:用 which node 检查路径
  • 权限问题:避免用 root 跑业务程序

如果你愿意,可以告诉我:

  • 用的是 Express / Koa / Nest / 原生
  • 本地测试还是服务器部署
  • 是否要 开机自启

我可以直接给你一份可用的启动配置。

0