r11绑定错误,尽管exec命令中的$ port

时间:2013-03-04 06:58:57

标签: ruby-on-rails-3 heroku

2013-03-04T06:47:21+00:00 heroku[web.1]: State changed from starting to crashed
2013-03-04T06:47:21+00:00 heroku[web.1]: State changed from crashed to starting
**2013-03-04T06:47:22+00:00 heroku[web.1]: Starting process with command `exec unicorn -p 6662 -c ./config/unicorn.rb`**
2013-03-04T06:47:23+00:00 app[web.1]: I, [2013-03-04T06:47:23.679109 #2]  INFO -- : Refreshing Gem list
2013-03-04T06:47:24+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-03-04T06:47:24+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-03-04T06:47:25+00:00 app[web.1]:         This poses a security threat. It is strongly recommended that you
2013-03-04T06:47:25+00:00 app[web.1]:         cookies. This will not be supported in future versions of Rack, and
2013-03-04T06:47:25+00:00 app[web.1]:         Called from: /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.1/lib/action_dispatch/middleware/session/abstract_store.rb:28:in `initialize'.
2013-03-04T06:47:25+00:00 app[web.1]: 
2013-03-04T06:47:25+00:00 app[web.1]: 
2013-03-04T06:47:25+00:00 app[web.1]:         provide a secret to prevent exploits that may be possible from crafted
2013-03-04T06:47:25+00:00 app[web.1]:         SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
2013-03-04T06:47:25+00:00 app[web.1]:         future versions will even invalidate your existing user cookies.
2013-03-04T06:47:27+00:00 app[web.1]: I, [2013-03-04T06:47:27.469450 #2]  INFO -- : listening on addr=0.0.0.0:6662 fd=8
2013-03-04T06:47:27+00:00 app[web.1]: Disconnected from ActiveRecord
2013-03-04T06:47:27+00:00 heroku[web.1]: Error R11 (Bad bind) -> Process bound to port 55101, should be 6662 (see environment variable PORT)
2013-03-04T06:47:27+00:00 heroku[web.1]: Stopping process with SIGKILL
2013-03-04T06:47:28+00:00 heroku[web.1]: Process exited with status 137
2013-03-04T06:47:28+00:00 heroku[web.1]: State changed from starting to crashed
2013-03-04T06:47:31+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ivms/13? host=murmuring-plains-5992.herokuapp.com fwd="202.157.93.2" dyno= queue= wait= connect= service= status=503 bytes=

所以exec从正确的端口6662开始,但最终得到了错误的端口。这种情况正在发生 heroku ps:restart或heroku restart。

我错过了什么。

环境: Rails3中 红宝石193 heroku雪松堆栈

1 个答案:

答案 0 :(得分:0)

你能展示你的Procfile吗? Heroku将为每个dyno动态分配一个PORT变量。此值可能会更改。重启。因此,您的Web流程类型应该读取PORT变量值,并使用它。

请参阅此article about unicorn上的示例,其内容如下:

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb