wjk*_*los 5 ruby heroku thin staging unicorn
我遇到了这种行为,并想知道是否有其他人看过它.我有一个解决方法,所以它不是一个显示阻止.
我在Heroku上用Cedar堆栈创建了一个新的应用程序.在演示多个环境时,我添加了以下config var:
heroku config:add RACK_ENV=staging --app appname
我在视觉上验证了环境var的设置,然后在我的简单Sinatra示例中放入以下路由:
get '/?' do
ENV['RACK_ENV']
end
Run Code Online (Sandbox Code Playgroud)
当我在笔记本电脑上进行本地测试时,我收到了预期development.
当我推到Heroku并在herokuapp.com上点击相同的路线时,我得到了development而不是staging.
我通过Procfile将Web服务器从Thin切换到Unicorn,并将更改推回到Heroku.
现在,当我到达路线时,我得到了预期staging.
有没有人见过这个?我在另一个运行Thin的项目上的解决方法是关闭New Relic应用程序名称的环境.(我没有切换到Unicorn,因为我需要New Relic来工作,目前Cedar和New Relic和Unicorn一起工作).
Mit*_*tch 14
我使用heroku的示例sinatra app在雪松堆上遇到了与sinatra相同的问题.RACK_ENV拒绝设置除了开发之外的任何东西.(Heroku似乎认为它已经设置了RACK_ENV,因为运行'heroku config'会显示你设置的环境,但是在应用程序中它始终是开发的).
竹堆上的相同应用程序没有问题.
编辑:我向heroku提交了一张关于这个的门票,得到了一个非常快速的回复,为我修复了这个错误:
引用:如果您使用瘦文件,我们的默认Procfile中似乎有一个小错误.你能创建一个包含以下内容的Procfile吗?
web: bundle exec thin start -R config.ru -e $RACK_ENV -p $PORT
| 归档时间: |
|
| 查看次数: |
4850 次 |
| 最近记录: |