Yeoman应用程序部署到Heroku

时间:2016-05-25 16:01:08

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

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

获取http://myapp.herokuapp.com/favicon.ico 503(服务不可用)

我有一个favicon图像,一切都在本地运行良好,出现了favicon图像。我不确定如何解决此错误或为什么它首先是由它引起的。

以下是我的所有代码:https://github.com/dkretsch12/MyHerokuApp
然后我用以下命令将它推送到Heroku:
git add。
git commit -am“仍然卡住” git push heroku master

2 个答案:

答案 0 :(得分:2)

我也碰到了这个,对我来说,结果是'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

上的文档

答案 1 :(得分:0)

在尝试打开Heroku部署的Rails / React应用程序时,我有相同的503服务不可用错误favicon.ico。我被困在这个bug上至少一个小时,并认为这篇文章可以提供我如何解决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文档来了解如何在heroku中使用sqlite3,或者更改数据库。我选择将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