【发布时间】:2015-12-17 22:49:10
【问题描述】:
为了避免与 Foreman 一起开发时出现问题,我需要将 Puma 服务器包装在 Socks 代理中,以便 Quotaguard 仅在生产和生产中获取静态 IP。
使用我从this question 找到的这个article 的链接,我在Procfile 的bin/web 调用中实现了以下代码。
#!/bin/sh
if [ "$RACK_ENV" == "production" ]; then
echo Using qgsocksify to wrap Puma
bin/qgsocksify bundle exec puma -C config/puma.rb
else
echo Using straight Puma
bundle exec puma -C config/puma.rb
fi
尽管环境是在 RACK_ENV 上设置的,但未包装的“straight Puma”服务器会启动。在本地测试这个是可行的,但在 Heroku 上失败了。
会导致它在 Heroku 上失败的语法错误是什么?
【问题讨论】:
-
echo "Using qgsocksify to wrap Puma"
""这是需要的 -
你为什么不使用
if [ "$RACK_ENV" == "production" ]下一行then?
标签: ruby-on-rails heroku sh