在DigitalOcean部署Svelte Vite应用时遭遇健康检查部署错误
解决DigitalOcean部署Svelte应用的健康检查报错问题
核心排查与修复步骤
- 端口配置必须完全一致
- 确认Svelte应用的监听端口(比如
package.json启动命令里的--port参数、或svelte.config.js中的端口设置),和DigitalOcean部署控制台里健康检查的端口完全匹配。 - 本地运行应用后,用
netstat -tulpn | grep <你的端口号>验证端口是否被正确监听。
- 确认Svelte应用的监听端口(比如
- 修正运行命令为生产环境适配
- 避免直接用开发命令
npm run dev部署,生产环境需先构建再启动服务:npm run build && npm run preview(Svelte默认预览命令)。 - 如果需要指定端口,在命令后追加参数:
npm run build && npm run preview -- --port 3000。
- 避免直接用开发命令
- 调整健康检查路径
- 默认健康检查路径是
/,若应用根路径存在路由重定向或非200响应,可改为/favicon.ico或应用内存在的静态资源路径。 - 确保健康检查使用
GET请求,与应用的响应逻辑匹配。
- 默认健康检查路径是
- 检查网络与防火墙规则
- 确认DigitalOcean Droplet的防火墙允许目标端口的入站流量,开放你设置的应用端口(如3000)。
- 应用内部不要限制本地回环访问(
localhost),健康检查请求通常从服务器内部发起。
- 查看启动日志定位问题
- 在DigitalOcean部署面板查看应用启动日志,排查是否有端口占用(
EADDRINUSE)、依赖缺失等启动失败报错,先解决启动问题再重新部署。
- 在DigitalOcean部署面板查看应用启动日志,排查是否有端口占用(
快速验证方法
登录到Droplet服务器,执行curl http://localhost:<你的端口号>/,若返回非200状态码,先解决本地访问问题,再重新触发部署。
内容的提问来源于stack exchange,提问作者soma
相关产品推荐
相关产品推荐

