如何在Heroku平台部署Mercure二进制文件?
Heroku 部署 Mercure 二进制文件操作指南
故障根因说明
你遇到的构建失败大概率是三个常见问题导致的:
- Procfile文件名写错,Heroku对该文件名大小写敏感,必须是首字母大写的
Procfile,全小写的procfile无法被识别 - 没有指定适配纯二进制部署的构建包,Heroku默认会检测项目语言,找不到对应配置就会终止构建
- Mercure启动缺少必选的环境变量,未配置JWT密钥时Mercure会直接启动失败
正确部署步骤
1. 本地文件预处理
- 确认你下载的是Linux x86_64架构的Mercure官方二进制包,解压后本地执行
chmod +x mercure为文件添加可执行权限 - 新建首字母大写的
Procfile文件,内容补充必选参数,参考配置如下:
敏感参数也可以直接在Heroku应用后台的配置变量页添加,不需要写在Procfile中。web: ADDR=$PORT MERCURE_PUBLISHER_JWT_KEY='自定义的加密字符串' MERCURE_SUBSCRIBER_JWT_KEY='自定义的加密字符串' ./mercure --cors-allowed-origins='*'
2. 配置Heroku构建规则
在本地终端对应项目目录下执行如下命令,指定使用纯二进制部署的空构建包,跳过默认的语言构建流程:
heroku buildpacks:set null
3. 提交推送代码
确认mercure二进制文件、Procfile都已经添加到git追踪,执行命令推送:
git add . git commit -m "complete mercure deployment config" git push heroku master
4. 运行状态校验
推送完成后执行heroku logs --tail查看运行日志,没有报错即可正常访问Heroku应用域名使用Mercure服务。
内容的提问来源于stack exchange,提问作者Manel Ksouri
相关产品推荐
相关产品推荐

