下面给你一套在 Ubuntu 上部署 Node.js 项目 的常见、实战可用流程,从零开始,适合新手到生产环境。
ssh root@你的服务器IP
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
验证:
node -v
npm -v
sudo apt install git -y
git clone https://github.com/你的项目.git
cd 项目目录
npm install
scp -r ./project root@IP:/var/www/
node app.js
# 或
npm start
如果是 Express:
app.listen(3000)
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 apt install nginx -y
sudo nano /etc/nginx/sites-available/node
示例配置:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
启用:
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
lsof -i:3000
pm2 logs
swapapt update
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs git nginx
git clone 项目
npm install
pm2 start app.js
nginx 反向代理
如果你愿意,可以告诉我:
我可以给你 定制版部署方案。