我也问过在stackoverflow,但仍然没有收到任何帮助我解决这个问题的答案。 为了解决这个问题,我花了差不多一个星期的时间,而且我还没有取得任何进展。 看来这个问题很常见,但是我在网上find的解决scheme都没有为我工作。 我的一个好友实际上正在创造相同的设置,而他也有同样的问题。
经过几天的403错误,我开始使用这个教程: 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中,然后渲染。 但铁轨没有工作。
基本上就是这样。 在这一点上,我几乎完全用尽了所有可能的解决scheme尝试,我能想到的。 我是程序员,绝对不是系统pipe理员,所以我99%肯定这与我已经build立的权限有关,但是对于我来说,我只是无法弄清楚在哪里。
如果任何人都可以帮助,我真的很感激。 如果有什么特定的许可要你检查(比如组/许可),你能不能包括这些命令呢? 希望这将有助于未来阅读这篇文章的其他人。
让我知道,如果有任何其他信息,我可以提供,并提前感谢!
请确保用户nginx运行,在大多数情况下它是没有人,有权读取您的主目录; 或者修改nginx.conf,使用其他用户启动工作进程。
HM:
root /home/deployer/webapps/mysite.com/public/current;
难道不是这个吗?
root /home/deployer/webapps/mysite.com/current/public;
我会检查以下内容:
你的path似乎被搞砸了。
/home/deployer/webapps/mysite.com/public/releases/most_current_release
应该看起来像
/home/deployer/webapps/mysite.com/live/current/public
和
/home/deployer/webapps/mysite.com/live/current
应链接到
/home/deployer/webapps/mysite.com/live/releases/most_current_release
通常capistrano目录结构如下
其中deploy_to是你的/home/deployer/webapps/mysite.com/live
希望能帮助到你