【问题标题】:Error when Yeoman app deployed to HerokuYeoman 应用程序部署到 Heroku 时出错
【发布时间】:2016-09-23 08:46:02
【问题描述】:

将我的 Yeoman 应用程序部署到 Heroku 后出现以下错误

GET http://myapp.herokuapp.com/favicon.ico503(服务不可用)

我有一个网站图标图像,并且随着网站图标图像的出现,一切都在本地运行良好。我不确定如何解决此错误或首先导致它的原因。

这是我所有的代码:https://github.com/dkretsch12/MyHerokuApp
我使用以下命令将其推送到 Heroku:
混帐添加。
git commit -am “仍然卡住”
git push heroku 大师

【问题讨论】:

    标签: heroku favicon http-status-code-503


    【解决方案1】:

    我也遇到了这个问题,对我来说,“503(服务不可用)”错误并不是真正的错误。 尝试: heroku logs --app [your-app-name] 看看它是否能提供更多信息。

    在我的情况下,Heroku 正在寻找 npm 启动脚本,我没有指定,但 Heroku 需要它。 查看您的 package.json,我发现您也没有它,所以这可能是开始的地方。

    编辑

    我认为这个错误的根本原因是默认情况下 Heroku 期望 web 服务器或某种可执行文件在后台运行。它是必需的,因为否则将不会处理传入的请求。所以它必须由程序员提供,安装后 Heroku 将通过npm start 或 Procfile 中指定的方式运行它。

    在我的情况下,无论如何我都需要一个网络服务器,所以我刚刚创建了一个 server.js 模块,我在其中实现了一个小型快速应用程序。然后在 package.json 我指定:

    "scripts": { "start": "node server.js", ... },

    但这可能不是适合您的解决方案,这取决于您对应用的要求。我对 Grunt 或 Angular 一无所知,所以我无法帮助你。我确实找到了this question,这可能对你很有价值。我还建议阅读Heroku Dev Center上的文档

    【讨论】:

      【解决方案2】:

      在尝试打开 Heroku 部署的 Rails/React 应用程序时,我遇到了相同的 503 服务不可用错误 favicon.ico。我被这个错误困住了至少一个小时,并认为这篇文章可能会提供有关我如何解决 503 favicon 问题的见解。

      第 1 步:我尝试在我的 rails 应用程序中找到一个 favicon.ico 文件,尝试创建我自己的 favicon.ico 文件,并将该文件放在根目录和其他目录中。我遇到了同样的错误...

      第 2 步。我在终端中运行以下命令:heroku logs -t,向上滚动并发现实际错误是 Heroku 无法支持 gem sqlite3

      An error occurred while installing sqlite3 (1.3.13), and Bundler cannot remote: continue. remote: Make sure that `gem install sqlite3 -v '1.3.13'` succeeds before bundling. remote: remote: In Gemfile: remote: sqlite3 remote: ! remote: ! Failed to install gems via Bundler. remote: ! Detected sqlite3 gem which is not supported on Heroku: remote: ! https://devcenter.heroku.com/articles/sqlite3

      更多关于为什么是here的信息。

      第 3 步:在了解更多信息后,我发现我可以按照 heroku 文档了解如何将 sqlite3 与 heroku 一起使用,或者更改数据库。我选择将 DB 更改为 postgres,并找到了两个很棒的资源来帮助解决这个问题:

      how to change your rails app database from sqlite to postgresql before deploying to heroku. Change from SQLite to PostgreSQL in a fresh Rails project

      第4步:这样做后,我得到一个500内部服务器错误,再次访问heroku logs -t,发现我的表在heroku上不存在。从那里,我知道我必须使用以下命令将 rails DB 迁移到 heroku:heroku run bundle exec rails:db migrate。推送到 heroku 就成功了。

      TLDR:状态 503 无法找到 path="/favicon.ico" 并不一定意味着问题源于 Heroku 部署的应用程序中缺少 favicon.ico。确定根本原因的更深入的方法是使用heroku logs -t

      【讨论】:

        猜你喜欢
        • 2014-11-21
        • 1970-01-01
        • 2015-09-22
        • 2017-09-14
        • 2015-12-09
        • 2020-04-06
        • 2016-04-08
        • 2019-06-25
        相关资源
        最近更新 更多