该技能是 Elixir/Phoenix 应用部署的快速参考,主要用途是指导如何将 Phoenix 项目部署到生产环境。
主要能力与要点:
- 运行时配置:敏感信息不要放在编译期 config.exs 中,应使用 runtime.exs 配合环境变量,在启动时解析。
- 数据库连接需启用 SSL 校验,使用 verify: :verify_peer,避免中间人攻击。
- 健康检查:提供 startup、liveness、readiness 端点,便于编排器区分启动中与已死亡节点。
- 优雅关闭时间不少于 60 秒,避免中断进行中的请求和 WebSocket 连接。
- 不要设置 CPU 限制,BEAM 调度器假定拥有全部核心;可设置内存限制(典型 256Mi–512Mi)。
- 可选服务凭证(如 S3、Redis)应按集成开关决定是否强制要求,避免无关键任务因缺少凭证而无法启动。
平台选择建议:简单托管用 Fly.io;已有 Kubernetes 的企业环境用 K8s;自定义基础设施用 Docker 加自选编排器。
资产流水线方面:Phoenix 1.8 使用 esbuild 与 tailwind,无需 Node.js,配置位于 config/config.exs 的 :esbuild 与 :tailwind 下,生产构建用 mix assets.deploy,首次运行用 mix assets.setup 安装二进制。
限制与说明:资料未提供具体价格、收费信息,也未提供完整安装步骤或效果数据。详细模式可参考技能目录下的 references/docker-config.md 与 references/flyio-config.md。