2016-11-26 3 views
0

config/unicorn/unicorn.rbファイル設定パラメータを使用してunicornのデフォルトポート番号を変更するにはどうすればよいですか。私は同じマシンでnginxと2つのユニコーンを実行する必要がありますどのように私はこれを達成することはできますか?今私はポートアドレスがすでに占有エラーを取得しています。config/unicorn/unicorn.rb configsを使用してunicornのデフォルトポート番号を変更してください

app_dir = "/home/rails/apps/app_name/current" 
shared_dir = "/home/rails/apps/app_name/shared" 

env = "staging" 

# Set unicorn options 
worker_processes 1 
preload_app true 
timeout 30 

# Fill path to your app 
working_directory app_dir 

# Set up socket location 
listen "#{shared_dir}/sockets/unicorn.admin.sock", :backlog => 64 

# Loging 
stderr_path "#{shared_dir}/log/unicorn.stderr.log" 
stdout_path "#{shared_dir}/log/unicorn.stdout.log" 

# Set master PID location 
pid "#{shared_dir}/pids/unicorn.admin.pid" 

before_fork do |server, worker| 
    # server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true) 
    defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! 
    old_pid = "#{server.config[:pid]}.oldbin" 
    if File.exists?(old_pid) && server.pid != old_pid 
    begin 
     sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU 
     Process.kill(sig, File.read(old_pid).to_i) 
    rescue Errno::ENOENT, Errno::ESRCH 
     # someone else did our job for us 
    end 
    end 
end 

after_fork do |server, worker| 
    defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection 
end 

before_exec do |server| 
    ENV['BUNDLE_GEMFILE'] = "#{app_dir}/Gemfile" 
end 

私はこのエラーを取得しています:あなたはソケット接続を使用するように

/shared/sockets/unicorn.admin.sock (Errno::EADDRINUSE) 

答えて

0

に思えます。この場合、あなたはこの行のためuniqのエントリを使用する必要があります。私はすでに「#{} SHARED_DIR /sockets/unicorn.admin.sock」を聞く1.異なるエントリを使用しています

# Set up socket location 
listen "#{shared_dir}/sockets/unicorn<X>.admin.sock", :backlog => 64 
+0

と2は「#{SHARED_DIRを聞きます} /sockets/unicorn.sock " –

+0

あなたは両方の'#{shared_dir} 'が異なっていると思っていますか?私にとっては、両方とも '/ shared /'を指しているように見えます。またはあなたの質問にフォルダ名をカットしましたか? – slowjack2k

+0

はい。両方ともshared_dirは私は親フォルダをカットしていた異なっています。 –

関連する問題