2015-05-11 1 views
1

Я пытаюсь развернуть приложение Ruby on Rails с Passenger и Nginx сервером на капли DigitalCloud.Nginx & Passenger не показывает мое приложение Ruby on Rails. Целевая страница

Я успешно установил Nginx и Passenger в своей среде Ubuntu. Также я клонировал приложение rails на /var/www/my_app, но я думаю, что файл конфигурации nginx установлен неправильно. Я не знаю, в чем проблема, потому что в нескольких учебниках у них одинаковая конфигурация, и они говорят, что все хорошо.

Так что я вижу это: Rails error message
Вы можете видеть, что это стандартная Рельсы страница ошибки из my_app/public папки.

Я не могу понять, почему во всех этих учебниках они создают корневую папку /public, потому что есть только найденные страницы ошибок и мой значок. Я бы хотел, чтобы он отображал индексную страницу из моего static page controller, как он определен в приложении routes файл в качестве корневого URL.

Вот мой /opt/nginx/conf/nginx.conf файл:

#user nobody; 
worker_processes 1; 

events { 
    worker_connections 1024; 
} 

http { 
    passenger_root /usr/local/rvm/gems/ruby-2.1.5/gems/passenger-5.0.7; 
    passenger_ruby /usr/local/rvm/gems/ruby-2.1.5/wrappers/ruby; 

    include  mime.types; 
    default_type application/octet-stream; 

    sendfile  on; 
    keepalive_timeout 65; 

    server { 
     listen  80; 
     server_name My_App; 
     passenger_enabled on; 
     root /var/www/my_app/public; 

     # redirect server error pages to the static page /50x.html 
     # 
     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root html; 
     } 
    } 
} 

Я бы нужно, чтобы отобразить страницу индекса с именем home.html.erb в /var/www/my_app/views/static_pages через контроллер под названием static_pages. Было бы логично как-то предоставить Nginx информацию, которая находится в файле rails routes, потому что есть все, что нужно знать, но я не видел, чтобы кто-то это делал. Может быть, вы могли бы сказать, что такое решение? Все учебники говорят, что они направляются в общую папку, но это не работает.

Спасибо в любом случае.

+0

какой? я думаю, что вы смешиваете некоторые вещи здесь ... – phoet

+0

Мне пришлось установить базу данных, и это сработало: D Мне нужно больше узнать о том, что я использую. – DanielsV

ответ

1

Я нашел решение. Мне нужно было установить базу данных, потому что она не может работать без нее. Это странно, потому что я думал, что мне нужно это, только если мое приложение будет нуждаться в нем для хранения чего-то. Моя ошибка: D

В этом учебнике было все! http://alexbachuk.com/launch-rails-4-application-with-passenger-and-nginx/ Надеюсь, это тоже поможет другим.

Во всяком случае, решение проблемы найдено.

+0

Добро пожаловать в переполнение стека. Поздравляем с поиском решения. Вы можете выбрать его в качестве ответа, как только система сможет это сделать. Однако не стоит задавать вопрос в ответ. Ответы для ответов, а не больше вопросов. Stack Overflow - это не доска объявлений, где есть поток вопросов и ответов. Вместо этого рассмотрите это поваренную книгу или справочник. Если у вас есть дополнительные вопросы, вам нужно создать дополнительный вопрос и спросить там, или он должен был задать ваш первоначальный вопрос. Помните, что в Stack Overflow мы разрешаем один или два тесно связанных вопроса на странице. –

+0

Никогда в жизни я не думал, что может быть такое дисциплинированное сообщество онлайн! Мне это нравится :)), и я удалю дополнительный вопрос. Благодарю. – DanielsV

+0

Это довольно хорошо продуманный. Проверьте [metaso], чтобы узнать, как пользовательская база решает все. –

Смежные вопросы