Развертывание рельсов - PullRequest
3 голосов
/ 07 июня 2011

Я пытаюсь развернуть приложение rail, которое находится в / opt / rails / my_app . Для этого я установил пассажирский гем и настроил nginx, используя passenger-install-nginx-module . Я могу получить доступ к статической странице приветствия, однако, когда я пытаюсь открыть какую-то другую страницу, например home (которая генерируется индексом home для контроллера rails,), браузер продолжает ждать и ждать ответа.

Этого не происходит при развертывании приложения с использованием rails s на порту 3000.

UPDATE Когда я выполняю passenger-install-apache2-module, я получаю g ++: нераспознанная опция '-R / usr / local / lib' . Я решил, что мне нужно изменить '-R / usr / local / lib' на 'Wl, -R / usr / local / lib', чтобы правильно скомпилировать LoggingAgent. Подскажите, пожалуйста, как изменить файл make?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

В своей предыдущей работе я потратил так много времени на процесс развертывания приложений rails в продуктах vps с различными конфигурациями и гемами, и, наконец, за 9 месяцев я обнаружил сервис hatchbox.io для развертывания приложений rails.Он был построен Крисом из GoRails и, поверьте мне, он сэкономил мне столько времени и нервов.Это не реклама, но на самом деле сервис работает отлично и не дорого.

0 голосов
/ 17 августа 2011

Что касается NGINX, похоже, что это проблема с правами доступа к некоторым вашим файлам и / или каталогам. Я бы вместо этого переместил приложение в специальный каталог / home. Например, если бы у вас был пользователь с именем tester, ваш nginx.conf сказал бы (у меня работает в Production:

server {
    listen       YOURIPADDRESSHERE:80; #use :443 if SSL is being used.

    server_name YOURFULLDOMAINNAMEHERE;
    #uncomment out following if ssl is used.
    #ssl on;
    #ssl_certificate  /etc/ssl/private/YOUR_chained.crt;
    #ssl_certificate_key  /etc/ssl/private/YOUR.key;
    #ssl_session_cache shared:SSL:1m;
    #ssl_session_timeout  5m;
    #ssl_protocols  SSLv3 TLSv1;
    #ssl_ciphers    HIGH:MEDIUM;
    #ssl_prefer_server_ciphers   on;
    root /home/tester/YOURRAILSAPPNAME/public;   # <--- be sure to point to 'public'!
    passenger_enabled on;
    charset utf-8;
    access_log /var/log/nginx/YOURFULLDOMAINNAMEHERE-ssl_access.log;
    error_log /var/log/nginx/YOURFULLDOMAINNAMEHERE-ssl_error.log warn;
    location /home/tester/YOURRAILSAPPNAME/public/ {
        root   html;
        index  index.html index.htm;
    }
    error_page  404              /404.html;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

Затем убедитесь, что ваши права доступа (755 для всех файлов, 644 для каталогов).

...