如何在搭载Hestia CP的VPS上部署Express(Node)+Vue+MySQL应用
在Hestia CP VPS上部署Node+Vue+MySQL应用并绑定域名
1. 确保Node应用后台稳定运行
直接用node app启动的进程在终端关闭后会终止,建议用PM2管理Node进程:
- 安装PM2:
npm install pm2 -g - 进入应用根目录,确保
package.json中存在"type": "module"字段(否则ES模块导入会报错) - 启动进程:
pm2 start app.js --name "your-app-name" - 验证进程状态:
pm2 status - 设置PM2开机自启:
pm2 startup,按照提示执行生成的命令
2. 在Hestia CP中添加你的域名站点
- 登录Hestia CP后台,进入
Web模块 - 点击
Add Web Domain,填写你的域名,默认选项保持不变,点击Save - 确认域名解析已指向你的VPS IP地址
3. 配置Nginx反向代理(核心步骤)
Hestia CP会自动为新站点生成Nginx配置,需修改为反向代理指向Node应用:
- 在
Web模块找到你的域名,点击Edit - 切换到
Proxy Settings标签页 - 勾选
Proxy Template并选择Custom,点击Edit Proxy Template - 替换原有内容为以下配置(把
your-domain.com换成你的实际域名,localhost:5000对应app.js里的端口):
server { listen 80; listen [::]:80; server_name your-domain.com www.your-domain.com; # 强制跳转HTTPS(可选,后续可在Hestia中申请SSL证书) return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name your-domain.com www.your-domain.com; ssl_certificate /home/your-user/conf/web/your-domain.com/ssl/your-domain.com.crt; ssl_certificate_key /home/your-user/conf/web/your-domain.com/ssl/your-domain.com.key; location / { proxy_pass http://localhost:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 若Vue静态资源单独存放,可添加此配置(根据实际路径调整) # location /static { # root /home/your-user/web/your-domain.com/public_html; # expires 30d; # } }
- 保存配置后,回到
Web模块点击Restart Nginx使配置生效
4. MySQL配置(应用需连接数据库时)
- 进入Hestia CP的
DB模块,点击Add Database创建数据库、用户名和密码 - 修改Node应用中的数据库连接配置,替换为Hestia生成的数据库信息(主机填
localhost,端口默认3306) - 重启PM2进程:
pm2 restart your-app-name
5. 验证部署
- 访问
https://your-domain.com,检查应用是否正常加载 - 若出现错误,可查看Nginx日志:
/var/log/nginx/your-domain.com.error.log,或PM2日志:pm2 logs your-app-name
内容的提问来源于stack exchange,提问作者invertedlungs
相关产品推荐
相关产品推荐

