2013-12-13 1 views
0

Я собираю свое первое приложение ROR на NginX и Passenger. Я слежу за учебниками по всему Интернету, и я получаю следующие ошибки, когда пытаюсь перейти на свою домашнюю страницу.рубин на рельсах nginx с пассажиром не открывается просмотров

Я создал контроллер home_controller.rb, используя командную строку. Я также создал представления в командной строке, которые сделали файл ERB по умолчанию.

Служба nginx работает, и я запускаю пассажир вручную через «пассажирский старт». Я вижу, как пассажир принимает входящие HTTP-запросы, как в следующих ошибках. Странно, однако, что он ищет в общей папке моего рубинового приложения для дома/индекса. Я использовал «rails generate [controller/view] foo», который записывает файлы вне публики.

Конфигурация моего nginx настроена так, чтобы указывать на общую папку моего проекта ROR.

Я использую ROR 2.0.0, Phusion Passenger 4.0.29 и nginx 1.1.19.

Я пропустил что-то в Пассажире, чтобы сообщить ему, где находятся контроллеры/виды/и т. Д. находятся?

MJ

2013/12/13 15:20:12 [error] 18305#0: *4 "/usr/development/sandbox/app/public/index.html" 
is not found (2: No such file or directory), client: 127.0.0.1, server: _, request:  "HEAD/
HTTP/1.1", host: "0.0.0.0" 

2013/12/13 15:20:13 [error] 18305#0: *5 "/usr/development/sandbox/app/public/index.html" 
is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET 
HTTP/1.1", host: "localhost:3000" 

2013/12/13 15:20:18 [error] 18305#0: *5 open() 
"/usr/development/sandbox/app/public/home/index" failed (2: No such file or directory), 
client: 127.0.0.1, server: _, request: "GET /home/index HTTP/1.1", host: "localhost:3000" 

2013/12/13 15:27:11 [error] 18305#0: *13 open() 
"/usr/development/sandbox/app/public/home/index" failed (2: No such file or directory), 
client: 127.0.0.1, server: _, request: "GET /home/index HTTP/1.1", host: "localhost:3000" 

редактировать 0 - если я использую "рельсы сервер", все, кажется, работает хорошо/редактировать 0

ответ

0

Вы используете Phusion Пассажиру в неправильном направлении.

Phusion Passenger предоставляет 3 modes: автономный режим (один из которых работает как автономный веб-сервер), режим интеграции Nginx и режим интеграции Apache. Запустив passenger start, вы используете автономный режим.

Вы также есть Nginx бег. И из ваших журналов, похоже, вы обращаетесь к Nginx. Но это ничего не делает. Пассажир работает автономно и не работает внутри Nginx.

В схеме:

  Nginx <--------------------- [Your request] 
(Not integrated with Passenger, 
so doesn't know what to do with 
your request) 


Passenger Standalone 
(waiting for your request, 
but you never sent one 
to it) 

Так вот как это выглядит, если вы используете rails server:

 Nginx 
(not receiving any 
    requests from you) 


    rails server <--------------- [Your request] 

То, что вы на самом деле хотите, чтобы получить доступ к пассажирским Standalone, который - так же, как rails server бы - прослушивает порт 3000. Фактически, Passenger Standalone сообщил вам во время запуска, что он прослушивает порт 3000.

 Nginx 
(not receiving any 
    requests from you; 
    so you may as well 
    disable it) 


Passenger Standalone <--------------- [Your request] 
Смежные вопросы