Приложение Rails не отображается на IP-адресе сервера (просто пустая страница)

Я застрял с производственным сервером. Уже пытаюсь решить это 2 дня, но не понимаю, почему так происходит. Проблема в том, что я пытался развернуть приложение Rails с помощью nginx/unicorn/capistrano. Наконец, я получил процесс работы. Nginx и единорог кажутся нормальными на моем рабочем сервере, но когда я вхожу в IP-адрес моего сервера, появляется только пустой экран. Раньше у меня было хотя бы сообщение, что nginx запущен. Я предполагаю, что проблема может быть в том, что nginx и единорог ищут приложение в неправильном месте, но я проверил маршруты, и они кажутся правильными. В приложении есть корневая страница приветствия, поэтому она должна отображаться там...

Не могли бы вы помочь мне с вашими мыслями, что может быть проблемой?

PS Если я создаю тестовое приложение rails на сервере и запускаю его с помощью webricks, это отображается в MY_SERVER_IP:3000, поэтому проблема однозначно связана с unicorn/nginx.

Мой файл nginx.conf:

upstream unicorn {
    server unix:/tmp/unicorn.foreignernetwork.sock fail_timeout=0;
}

server {
    listen 80 default deferred;
    server_name justforeign.com;
    root /var/www/foreignernetwork/current/public;

location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
}

try_files $uri/index.html $uri @unicorn;
location @unicorn {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://unicorn;
}

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

}

Мой файл unicorn.rb:

root = "/var/www/foreignernetwork/current"
working_directory root
pid "#{root}/tmp/pids/unicorn.pid"
stderr_path "#{root}/log/unicorn.log"
stdout_path "#{root}/log/unicorn.log"

listen "/tmp/unicorn.foreignernetwork.sock"
worker_processes 2
timeout 30

# Force the bundler gemfile environment variable to
# reference the capistrano "current" symlink
before_exec do |_|
  ENV["BUNDLE_GEMFILE"] = File.join(root, 'Gemfile')
end

0 ответов

Другие вопросы по тегам