Невозможно настроить passenger и nginx для развертывания приложения rails



Я развертываю приложение rails на VPS с CentOS. Я установил пассажира с gem install passenger. А для установки nginx я использовал rvmsudo passenger-install-nginx-module.



В конфигурационном файле nginx я установил:



server { 
listen 80;
server_name my-ip-address;

location / {
root /home/deploy/repos/application-name/public;
passenger_enabled on;
rails_env production;
}
...
}


Когда я выполняю sudo service nginx status, я получаю следующее:



nginx (pid 21015 21014) is running...


Который показывает, что nginx работает.



Но я получаю This webpage is not available в браузере.



Даже я получаю тот же результат, когда ставлю на сервер rails в режиме разработки с rails s и пытаюсь проверить в браузере с my-ip-address:3000



Может ли кто-нибудь помочь с тем, что может быть проблемой?

Когда я выполняю команду passenger-config restart-app результат:



Phusion Passenger is currently not serving any applications


Мне нужно предложение о том, является ли это проблемой с nginx или пассажиром?

Еще один вопрос -



Если мой пассажир установлен неправильно, но nginx установлен правильно, смогу ли я увидеть "добро пожаловать на страницу nginx"?



Обновление:



Я попробовал запустить passenger start -p 3000 -d -e production, которым пассажир служит в фон. Теперь, если я делаю passenger-status, я получаю два примера пассажира, из которых один говорит Phusion Passenger is currently not serving any applications , а другой показывает:



Version : 5.0.21
Date : 2016-01-16 10:42:42 +0530
Instance: feOajf7V (nginx/1.8.0 Phusion_Passenger/5.0.21)

----------- General information -----------
Max pool size : 6
App groups : 1
Processes : 1
Requests in top-level queue : 0

----------- Application groups -----------
/home/deploy/repos/application-name/public (production):
App root: /home/deploy/repos/application-name
Requests in queue: 0
* PID: 22003 Sessions: 0 Processed: 0 Uptime: 4m 17s
CPU: 0% Memory : 36M Last used: 4m 17s ago


И если я выполняю passenger-config restart-app, то получаю результат в виде:



Please select the application to restart.
‣ /home/deploy/repos/application-name/public (production)
Cancel


Означает ли это, что пассажир работает правильно? Но я вижу webpage not available в браузере.

795   2  

2 ответов:

Я думаю, что вы не запустили passenger в каталоге вашего проекта. В корневом каталоге типа вашего проекта:

passenger start -p <port>

Где <port> - порт, на котором вы хотите запустить приложение (например, 8000).

Обновить

Согласно обновлениям в вашем вопросе и комментариям ниже, проблема, похоже, не находится в конфигурации nginx или passenger. Поскольку вы пытаетесь получить доступ к вашему серверу не локально, а с реальным ip вашего VPS, есть вероятность, что порты, о которых идет речь, не открыты. Вы можете проверить, так ли это здесь.

Я не гуру, но в моей (рабочей ;) ) установке у меня есть:

keepalive_timeout 10;
passenger_enabled on;
root /var/www/org/current/public;

В блоке сервера, а не в блоке расположения. Надеюсь, это поможет.

И быстрый просмотр документации говорит мне то же самое: https://www.phusionpassenger.com/library/deploy/nginx/deploy/ruby/

Я не знаю, исправит ли это для вас, так как работа nginx и passenger, насколько я помню, немного неудобна, и я использую Chef, но это должно помочь.

Comments

    Ничего не найдено.