You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopify Remix应用部署fly.io后无法运行求助

Shopify Remix应用Fly.io部署加载失败排查

问题背景

基于Shopify官方shopify-app-remix包开发应用,选择Fly.io平台部署,采用Prisma+PostgreSQL数据库,已按Fly.io文档创建Postgres集群并关联应用。应用构建部署成功,但始终处于加载状态无法正常运行,Fly.io机器日志如下:

2024-02-07T12:05:32.344 app[148ed727f93de8] den [info] INFO Preparing to run: `docker-entrypoint.sh node` as root

2024-02-07T12:05:32.353 app[148ed727f93de8] den [info] INFO [fly api proxy] listening at /.fly/api

2024-02-07T12:05:32.355 app[148ed727f93de8] den [info] 2024/02/07 12:05:32 listening on [fdaa:6:b09:a7b:15c:8976:9a82:2]:22 (DNS: [fdaa::3]:53)

2024-02-07T12:05:32.442 runner[148ed727f93de8] den [info] Machine started in 595ms

2024-02-07T12:05:33.354 app[148ed727f93de8] den [info] INFO Main child exited normally with code: 0

2024-02-07T12:05:33.354 app[148ed727f93de8] den [info] INFO Starting clean up.

2024-02-07T12:05:33.355 app[148ed727f93de8] den [info] WARN hallpass exited, pid: 316, status: signal: 15 (SIGTERM)

2024-02-07T12:05:33.360 app[148ed727f93de8] den [info] 2024/02/07 12:05:33 listening on [fdaa:6:b09:a7b:15c:8976:9a82:2]:22 (DNS: [fdaa::3]:53)

2024-02-07T12:05:33.445 proxy[148ed727f93de8] den [info] machine started in 1.602390375s

2024-02-07T12:05:34.355 app[148ed727f93de8] den [info] [ 2.363003] reboot: Restarting system

2024-02-07T12:05:34.520 runner[148ed727f93de8] den [info] machine exited with exit code 0, not restarting

2024-02-07T12:05:40.864 proxy[148ed727f93de8] den [info] waiting for machine to be reachable on 0.0.0.0:8081 (waited 7.418556817s so far)

2024-02-07T12:05:46.867 proxy[148ed727f93de8] den [info] waiting for machine to be reachable on 0.0.0.0:8081 (waited 13.421951594s so far)

2024-02-07T12:05:52.805 proxy[148ed727f93de8] den [info] waiting for machine to be reachable on 0.0.0.0:8081 (waited 19.36011226s so far)

2024-02-07T12:05:57.808 proxy[148ed727f93de8] den [error] failed to connect to machine: gave up after 15 attempts (in 24.362882318s)

2024-02-07T12:05:58.064 proxy[e2865373c17658] den [info] Starting machine

2024-02-07T12:05:58.259 app[e2865373c17658] den [info] [ 0.057848] PCI: Fatal: No config space access function found

2024-02-07T12:05:58.477 app[e2865373c17658] den [info] INFO Starting init (commit: bfa79be)...

2024-02-07T12:05:58.548 app[e2865373c17658] den [info] INFO Preparing to run: `docker-entrypoint.sh node` as root

2024-02-07T12:05:58.557 app[e2865373c17658] den [info] INFO [fly api proxy] listening at /.fly/api

2024-02-07T12:05:58.560 app[e2865373c17658] den [info] 2024/02/07 12:05:58 listening on [fdaa:6:b09:a7b:15c:54aa:4c7e:2]:22 (DNS: [fdaa::3]:53)

日志关键信息分析

  1. 进程启动后立即退出:INFO Main child exited normally with code: 0表明Node进程启动后没有持续运行,直接正常退出,导致Fly.io代理无法连接到应用端口。
  2. 端口连接失败:代理一直在尝试连接0.0.0.0:8081,但由于进程已退出,最终连接超时失败。
  3. 重启循环:机器重启后重复同样的流程,进程启动即退出,无法提供服务。

排查与修复步骤

  • 修正启动命令:检查fly.toml中的cmd配置,应该使用Shopify Remix应用的启动脚本(npm start或yarn start),而非直接执行node命令。当前日志显示启动命令为docker-entrypoint.sh node,缺少指向应用入口的参数或正确的启动脚本。
  • 验证环境变量:确保所有必要的环境变量已正确设置:
    • Shopify相关:SHOPIFY_API_KEY、SHOPIFY_API_SECRET、SCOPES、HOST
    • 数据库相关:DATABASE_URL(需与Fly.io Postgres集群的连接字符串一致)
  • 本地复现问题:在本地构建生产版本(npm run build)并启动(npm start),查看是否有报错信息,多数情况下本地能复现同样的启动失败问题。
  • 获取详细应用日志:执行fly logs -a <你的应用名称>实时查看应用的输出日志,当前日志仅显示进程状态,缺少应用自身的启动报错信息,可调整日志级别获取更多细节。
  • 端口配置校验:确认应用监听端口为8081(Fly.io代理等待的端口),Shopify Remix默认监听3000,需设置环境变量PORT=8081,或在fly.toml中配置端口映射。

内容的提问来源于stack exchange,提问作者Ronak Panchal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:35:58