Проблема при развертывании Rails с использованием Nginx и Unicorn в Centos 7x64 - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть приложение rails 5.1.7, работающее под AWS микроинстанцией. Я следовал этому руководству Как развертывать приложения rails с помощью Unicorn и nginx на CentOS 6.5 для развертывания в Centos 7x64 для доступа к приложению с помощью http://ip-address/auth/login.

После борьбы с ошибкой 403-Forbidden теперь я вижу стартовый экран Nginx, получая доступ к IP-адресу ( http: // [ip-address] ). Но когда я попытался получить доступ к root url " http: // [ip-address] / auth / login ", он выдает страницу с 500 ошибками и, просматривая журнал nginx, я могу см. ошибку следующим образом.

2020/02/05 18:54:39 [crit] 4427#0: accept4() failed (24: Too many open files)
2020/02/05 18:54:39 [crit] 4427#0: accept4() failed (24: Too many open files)
2020/02/05 18:54:39 [crit] 4427#0: accept4() failed (24: Too many open files)

Я не совсем понимаю сообщение об ошибке, описанное здесь. Я очень ценю вашу помощь в решении проблемы и продвижении вперед.

Вот файлы конфигурации Unicorn и Ngnix по умолчанию для ваших ссылок. config / unicorn.rb

app_name = "lvfp"
# Set the working application directory. This should be your rails app root dir, not the public dir
app_root = File.expand_path(File.dirname(__FILE__) + '/..')
working_directory app_root
# File to store unicorn pid
# pid "/path/to/pids/unicorn.pid"
pid "#{app_root}/tmp/pids/unicorn.pid"
# Path to logs
# stderr_path "/path/to/log/unicorn.log"
# stdout_path "/path/to/log/unicorn.log"
stderr_path "#{app_root}/log/unicorn.log"
stdout_path "#{app_root}/log/unicorn.log"
# Unicorn socket
listen "/tmp/unicorn.#{app_name}.sock"
# Number of processes
worker_processes number_of_app_instances
# Time-out
timeout 30

/ etc / nginx / conf.d / default.conf

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

server {


    listen 80;
    server_name localhost;

    # Application root, as defined previously
    root /root/my_app/public;
    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;
    }
    location / {
      proxy_pass http://ip-address:3000
    }
    error_page 500 502 503 504 /500.html;
    client_max_body_size 4G;
    keepalive_timeout 10;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...