乘客config.ru许可被拒绝

时间:2013-10-08 18:46:30

标签: ruby-on-rails nginx permissions passenger

有没有人在rails + nginx + passenger的组合下经历ERR_EMPTY_RESPONSE?

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

但会产生相同的错误消息。

我将不胜感激任何帮助。

5 个答案:

答案 0 :(得分:2)

您还需要放松所有父目录的权限。

答案 1 :(得分:2)

在我的情况下,这是因为乘客宝石安装为全局

gem install pasenger

并且未将其包含在gemfile并且具有

RVM@app copy (local copy)

希望它能帮助别人!

答案 2 :(得分: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

同样的问题

答案 3 :(得分:0)

尝试:

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

应该有所帮助。

答案 4 :(得分:0)

就我而言,SELinux阻止了对config.ru的访问。

我必须以root restorecon -R ~appuser身份运行