我花了最近几天试图解决这个问题,而我只是没有取得任何进展。我实际上只是创建了一个stackoverflow帐户专门问这个问题。似乎这个问题很常见,但我发现的解决方案都没有为我解决问题。
昨天我遇到了这个教程:http://blog.ninjahideout.com/posts/a-guide-to-a-nginx-passenger-and-rvm-server
我曾希望从头开始使用本教程可行,但没有骰子。无论哪种方式,如果您查看教程,您可以看到我采取了哪些步骤。
这基本上就是我的目标。
=============================================== ===================================
worker_processes 1;
events {
worker_connections 1024;
}
http {
passenger_root /usr/local/rvm/gems/ree-1.8.7-2010.02/gems/passenger-3.0.2;
passenger_ruby /usr/local/rvm/bin/passenger_ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
# listen *:80;
server_name mysite.com www.mysite.com;
root /home/deployer/webapps/mysite.com/public/current;
passenger_enabled on;
passenger_friendly_error_pages on;
access_log logs/mysite.com/server.log;
error_log logs/mysite.com/error.log info;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
=============================================== ===================================
我反弹nginx,点击网站,然后热潮。 403,日志说 / home / deployer的目录索引...被禁止
正如其他有类似问题的人所说的那样,你可以将index.html放入public / releases / current_release中并进行渲染。但轨道没有用。
基本上就是这样。在这一点上,我几乎完全耗尽了我能想到的每一个可能的解决方案尝试。我是一名程序员,绝对不是系统管理员,所以我99%肯定这与我所管理的权限有关,但对于我的生活,我只是无法弄清楚在哪里。
如果有人可以提供帮助,我真的很感激。如果您希望我检查任何特定权限(即组/权限),您是否也可以包含命令。希望这将有助于将来阅读这篇文章的其他人。
如果我能提供任何其他信息,请告诉我,并提前致谢!!!
答案 0 :(得分:1)
反转root指令的public和current。
root /home/deployer/webapps/mysite.com/current/public;
答案 1 :(得分:1)
您应该将部署用户和root添加到rvm组。
sudo usermod -a -G rvm deployer
sudo usermod -a -G rvm root
答案 2 :(得分:0)
'nginx -v'输出版本(或客户端,浏览器中的视图标题)。
Slicehost提供了很好的文章,可以与您自己的配置进行比较,甚至可以从头开始。 [我也使用Linode,但更喜欢Slicehost的教程。 )]
http://articles.slicehost.com/tags/nginx
nginx教程肯定涵盖了权限设置,这听起来就像是你所描述的问题的原因。
他们也有关于Rails和Capistrano的文章。