首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用config/ unicorn /unicorn.rb配置更改unicorn的默认端口号

使用config/ unicorn /unicorn.rb配置更改unicorn的默认端口号
EN

Stack Overflow用户
提问于 2016-11-26 20:35:27
回答 1查看 1.7K关注 0票数 0

如何使用config/unicorn/unicorn.rb文件配置参数更改unicorn的默认端口号。我需要在同一台机器上运行两个nginx的独角兽,如何实现?现在,我收到端口地址已被占用错误。

代码语言:javascript
复制
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

我得到了这个错误:

代码语言:javascript
复制
/shared/sockets/unicorn.admin.sock (Errno::EADDRINUSE)
EN

回答 1

Stack Overflow用户

发布于 2016-11-26 21:30:27

看起来您使用的是套接字连接。在这种情况下,您必须对该行使用uniq条目:

代码语言:javascript
复制
# Set up socket location
listen "#{shared_dir}/sockets/unicorn<X>.admin.sock", :backlog => 64
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40818382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档