如何在Heroku上配置Node.js WebSocket应用的Worker Dyno?
配置Heroku Worker Dyno运行Node.js WebSocket应用
1. 正确创建Procfile
- 在项目根目录新建无后缀名的
Procfile文件(注意首字母大写,别写成Procfile.txt这类带后缀的) - 文件里只写一行:
worker: node index.js,把index.js换成你实际的入口文件名就行
2. 解决heroku.yml缺失的构建错误
- 这个报错大概率是因为你之前误开了Docker部署配置,或者仓库里残留了相关设置,直接重置构建方式就行:
heroku buildpacks:set heroku/nodejs - 可以用下面的命令确认设置是否生效,输出应该显示
heroku/nodejs:heroku buildpacks
3. 推送代码并启动Worker Dyno
- 先把Procfile提交到Git:
git add Procfile git commit -m "添加worker Procfile配置" git push heroku main - 推送完成后必须手动启动Worker Dyno(Heroku不会自动启动非Web类型的Dyno):
heroku ps:scale worker=1 - 用下面的命令查看Dyno状态,正常会显示
worker.1处于up状态:heroku ps
4. 验证应用运行
- 实时查看日志,确认WebSocket连接正常工作:
heroku logs --tail
内容的提问来源于stack exchange,提问作者ABD
相关产品推荐
相关产品推荐

