1

環境に応じてユニコーンのポートを設定する必要があります。このようなもの:

#config/unicorn.rb

if Rails.env.production?
  listen 8080, :tcp_nopush => true
elsif Rails.env.staging?
  listen 3001, :tcp_nopush => true
end

上記のコードはこのエラーを返します:

[out :: 172.30.1.24] config/unicorn.rb:32:in `reload': uninitialized constant Unicorn::Configurator::Rails (NameError)

環境に応じてポートを変更するにはどうすればよいですか?

Ty!

4

3 に答える 3

2

環境変数をチェックしてみてください

environment = ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'production'
于 2013-01-23T23:16:08.313 に答える
0

名前空間のルックアップに問題があるようです。コードはのコンテキストで評価されており、条件付き(部分)Unicorn::Configuratorでの「ベアワード定数ルックアップ」があります。代わりに次を使用して、トップレベルのルックアップを強制できます。Railsif Rails.env::Rails

if ::Rails.env.production?
  # etc.
end

お役に立てば幸いです。

于 2013-01-27T06:19:24.833 に答える
0

Rails.envにアクセスするには、Rails環境をロードする必要があります。

# config/unicorn.rb
require File.dirname(__FILE__)+'/application'

port = case Rails.env
  when 'production' then 8080
  when 'staging'    then 3001
  else 3000
end

listen port, :tcp_nopush => true
于 2013-01-23T23:41:10.973 に答える