Sidekiq显示器和nginx

时间:2015-03-19 18:50:44

标签: ruby nginx sidekiq grape-api sidekiq-monitor

我在Grape API应用程序的上下文中运行Nginx,Sidekiq Monitor。我的Gemfile中有Sinatra。我还设置了一个rake任务来运行Sidekiq监视器:

  namespace :sidekiq do
    task :monitor do
      require 'sidekiq/web'
      app = Sidekiq::Web
      app.set :environment, :production
      app.set :bind, '0.0.0.0'
      app.set :port, 9494
      app.run!
    end
  end

我发现这是在没有Rails的情况下运行sidekiq的方法。接下来,我设置Nginx将请求从Web发送到Sidekiq端口9494:

server {
  server_name localhost;

  listen 9494;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location /sidekiq {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    # pass to the upstream unicorn server mentioned above
    proxy_pass http://unicorn;
  }
}

接下来,我运行rake任务来启动sidekiq监视器。最后,我转到Web服务器的IP地址并使用该端口尝试访问sidekiq监视器。不幸的是我收到错误"网页不可用。"

查看nginx日志我甚至没有在访问日志中获得条目,就像我的请求甚至达到了nginx。我尝试了大量的server_name条目(IP地址,localhost等)。似乎没什么用。如果我这样做:

curl -vvv http://localhost:9494

我得到了正确的HTML输出到终端。所以我相信这是来自服务器的请求的问题 - > nginx - >独角兽。

关于我还能检查什么的任何想法?

更新   我尝试从nginx中删除配置并使用IP和端口访问sidekiq监视器但没有成功。我还从配置中删除了app.set:port,9494,并尝试了同样没有成功。

感谢

1 个答案:

答案 0 :(得分:0)

现在您已经配置为使用端口9494.这无法正常工作。