2013-10-08 3 views
2

Прошел ли кто-нибудь через ERR_EMPTY_RESPONSE под сочетание рельсов + nginx + пассажир?Разрешение пассажира config.ru отклонено

Nginx error.log говорит:

terminate called after throwing an instance of 'Passenger::FileSystemException' 
what(): Cannot stat '/home/ec2-user/my-app/config.ru': Permission denied (errno=13) 

так, я попытался ослабив разрешения для config.ru и содержащего его каталога с помощью

chmod 777 config.ru 
chmod 777 my-app 

, но это приводит в том же сообщении об ошибке.

Буду признателен за любую помощь.

ответ

2

Вам также необходимо ослабить разрешения для всех родительских каталогов.

+0

* Все * родительские каталоги. Это означает родительский элемент родителя и родительский элемент родителя родителя и т. Д. – Hongli

+0

Я думаю, что это на самом деле * была * проблема разрешения в родительском каталоге. Руководство Пассажира сообщило вам, чтобы вы разрешили все разрешения вплоть до домашнего каталога, в котором он находился. Предположительно, вы установили Passenger как ec2-user, так что вы расслабились/home/ec2-user. Ваше приложение * также * находится в каком-то подкаталоге в/home/ec2-user. Поэтому, разрешив разрешения для жемчужина Passenger, у вас также возникли расслабленные разрешения для вашего приложения. – Hongli

0

Попробуйте:

chmod -R +x /home/ec2-user/my-app/ 

Это должно помочь.

2

В моем случае это было из-за установками пассажирской жемчужину как глобальные, делая

gem install pasenger 

и не включая его в gemfile и имеющем

[email protected] copy (local copy) 

Надеется, что это помогает другим!

1

Вы должны расслабиться разрешения к тому, что рабочий процесс Nginx может получить доступ к каталогу приложений, сделав группы- каталог и мир-исполняемую:

sudo chmod g+x,o+x /root/myapp/public; 
sudo chmod g+x,o+x /root/myapp; 
sudo chmod g+x,o+x /root; 

же вопрос здесь спросил Nginx worker process cant access config.ru

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