2016-01-15 3 views
0

Я следую this tutorial развернуть приложение RoR с Capistrano, но я получаю сообщение об ошибке в моем сервере производстваUnicorn + Nginx Рельсы ошибка производства

[error] 28314#0: *1 connect() to unix:/tmp/unicorn.myapp.sock failed (111: Connection refused) while connecting to upstream, client: xx.xxx.xx.xx, server: , request: "GET/HTTP/1.1", upstream: "http://unix:/tmp/unicorn.myapp.sock:/", host: "myapp.cloudapp.azure.com" 

Мои /etc/nginx/sites-available/default

upstream app { 
    # Path to Unicorn SOCK file, as defined previously 
    server unix:/tmp/unicorn.myapp.sock fail_timeout=0; 
} 

server { 

    listen 3000; 
    server_name localhost; 

    root /home/deploy/apps/myapp/current/; 

    try_files $uri/index.html $uri @app; 

    location @app { 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 
    proxy_pass http://app; 
    } 

    error_page 500 502 503 504 /500.html; 
    client_max_body_size 4G; 
    keepalive_timeout 10; 
} 

Я изменил server для многих разных вещей, но я получаю ту же ошибку, с тем же хостом, сервером, вверх по течению.

Проблема была в Unicorn, где-то в моем развертывании Капистрано, он не перезапускал Единорог, как должен.

+0

Проверьте, что capistrano и единорог создают этот файл '/ tmp/unicorn.myapp.sock', который должен быть создан во время развертывания. – mixan946

+0

Единственная разница между моими конфигурациями и тем, что я не использую одно и то же имя для восходящего потока. Можете ли вы подтвердить, работает ли это, изменив ** вверх по течению приложение ** на ** вверх по течению mysite ** и ** proxy_pass http: // app; ** на ** proxy_pass http: // mysite; ** – robzdc

+0

mixan946 создает robzdc Я изменил, но все еще ничего – tvieira

ответ

2

Журналы Nginx указывают, что это проблема с серверным сервером. После запуска бэкэнда. Проверка:

После того, как эти тесты проходят проверку снова через Nginx.

+0

первый пропустил, второй получил соединение, отказался – tvieira

+1

@tvieira, если единорог не может быть доступен напрямую, сосредоточьтесь на решении этой проблемы и добавьте Nginx обратно в микс после того, как приложение backend подтверждено, что он работает правильно. –

+0

Как выясняется, проблема была в самом Единороге, Nginx был в порядке. – tvieira