0

我在 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 以在端口 9494 上从 Web 向 Sidekiq 发送请求:

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 地址、本地主机等)。似乎没有任何效果。如果我做:

curl -vvv http://localhost:9494

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

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

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

谢谢

4

1 回答 1

0

现在你们都配置为使用端口 9494。那是行不通的。

于 2015-03-19T20:16:46.393 回答