在 Ubuntu 上启动 Node.js,通常有以下几种常见方式,按使用场景从简单到复杂说明:
node -v
npm -v
如果未安装,可先安装:
sudo apt update
sudo apt install nodejs npm
或安装指定版本(推荐):
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
mkdir test-node
cd test-node
nano app.js
app.js 示例:
console.log("Hello Node.js");
运行:
node app.js
mkdir myapp
cd myapp
npm init -y
npm install express
server.jsconst express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
node server.js
浏览器访问:
http://localhost:3000
nohupnohup node server.js > app.log 2>&1 &
查看日志:
tail -f app.log
pm2(强烈推荐)sudo npm install -g pm2
pm2 start server.js
pm2 startup
pm2 save
常用命令:
pm2 list
pm2 restart server
pm2 logs
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/server.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 app.js |
| Web 服务 | Express + node server.js |
| 生产后台运行 | pm2 |
| 系统级服务 | systemd |
如果你能说明是 本地开发 / 服务器部署 / Docker / 云服务器,我可以给你更具体的启动方案。