【问题标题】:How to write Procfile for node.js heroku deployment using bin/www?如何使用 bin/www 为 node.js heroku 部署编写 Procfile?
【发布时间】:2016-06-10 08:41:40
【问题描述】:

我正在尝试部署 Heroku 应用程序,我相信 procfile 可能是我的应用程序未部署的原因。我尝试了多种解决方案,包括:

网络:节点 ./bin/www 网络:npm 开始

我的应用程序无法运行可能还有其他原因,但我想确保我的 Procfile 设置正确

【问题讨论】:

    标签: express heroku


    【解决方案1】:

    这就是我所拥有的:

    1. 项目根目录下名为Procfile的文件(无文件扩展名)
    2. 在文件里面,第一行写着web: bin/web
    3. 在同样位于项目 rood 目录中的 bin 目录中,我有一个名为 web 的文件,在里面我有 node ./bin/www(我还有更多,但让我们保持简单)。
    4. bin 目录中还有另一个名为 www 的文件,其中我有启动节点服务器的代码。
    5. bin目录下的两个文件都需要是可执行的,你可以通过chmod +x file_name来设置

    Procfile 说明

    如上所述,在 Procfile 我有这一行:web: bin/web where

    1. web: - 是进程的名称,必须是 web 才能让 Heroku 喜欢你:)
    2. bin/web - 是您文件的路径

    我希望这会有所帮助:)

    【讨论】:

    • 您好,感谢您的帮助。不幸的是,我的应用程序仍未部署,但至少我知道 Procfile 现在已正确设置。这是我在日志中收到的消息: 2016-02-26T23:37:33.319462+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=nodeguestbook .herokuapp.com request_id=9bb42708-6af6-4762-80cb-d7a770c733de fwd="97.90.145.90" dyno= connect= service= status=503 bytes=
    • 嗯,是的,您的应用程序正在启动,但您的代码肯定有问题。转到 Heroku 上应用程序的 Deploy 部分,向下滚动并点击手动部署,您将获得一个控制台,显示正在发生的一切。在那里你会看到真正的问题。
    • 好的,再次感谢您的帮助!我现在正在查看日志,希望我能弄清楚这意味着什么。
    【解决方案2】:

    你应该这样做:

    web: ./bin/www npm start
    

    这是为我解决的问题!

    【讨论】:

      猜你喜欢
      • 2022-10-16
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 2020-01-21
      • 2020-02-12
      • 1970-01-01
      • 2019-03-26
      相关资源
      最近更新 更多