我在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,并尝试了同样没有成功。
感谢
答案 0 :(得分:0)
现在您已经配置为使用端口9494.这无法正常工作。