确保你已安装:
- Node.js 和 npm
- Nginx
- Forever (可通过 npm install -g forever
安装)
forever start app.js
forever start -a -l /var/log/forever.log -o /var/log/out.log -e /var/log/err.log app.js
forever list
forever stop [pid|uid]
forever stopall
forever restart [pid|uid]
通常位于 /etc/nginx/sites-available/yourdomain.com
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_pass http://localhost:3000; # 假设Node应用运行在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;
}
# 静态文件处理(可选)
location /public/ {
root /path/to/your/app;
expires 30d;
}
# 错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置
sudo systemctl restart nginx
创建 systemd 服务文件 /etc/systemd/system/nodeserver.service
:
[Unit]
Description=Node.js Server with Forever
After=network.target
[Service]
ExecStart=/usr/bin/forever start /path/to/your/app.js
ExecStop=/usr/bin/forever stop /path/to/your/app.js
Restart=always
User=yourusername
Group=yourgroup
Environment=NODE_ENV=production
WorkingDirectory=/path/to/your/app
[Install]
WantedBy=multi-user.target
然后启用服务:
sudo systemctl daemon-reload
sudo systemctl start nodeserver
sudo systemctl enable nodeserver
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
sudo certbot renew --dry-run
forever list
定期检查应用状态通过以上步骤,你可以建立一个稳定、高性能的 Node.js 生产环境。