【发布时间】:2011-06-13 07:32:12
【问题描述】:
过去几天我一直在尝试解决这个问题,但我没有取得任何进展。我实际上只是专门创建了一个 stackoverflow 帐户来问这个问题。似乎这个问题很常见,但我找到的解决方案都没有解决我的问题。
昨天我偶然发现了这个教程:http://blog.ninjahideout.com/posts/a-guide-to-a-nginx-passenger-and-rvm-server
我曾希望从头开始使用本教程会奏效,但没有骰子。无论哪种方式,如果您查看教程,您可以看到我采取了哪些步骤。
这基本上就是我正在做的事情。
- 我在 linode.com 上有一个 VPS 帐户
- 服务器操作系统是 Ubuntu 10.04
- 用于与 Capistrano 一起部署的本地操作系统(应该没关系,但请注意)是 Snow Leopard 10.6.6
- 我在服务器上使用 RVM。 版本为 1.2.2
- 我之前使用的是 ruby-1.9.2-p0 [i386],但根据上面列出的教程,我切换到了 ree-1.8.7-2010.02 [i386]。
- 从命令行运行 'which ruby' 验证我使用的是 1.8.7 并具有以下输出:/usr/local/rvm/rubies/ree-1.8.7- 2010.02/bin/ruby
- passenger -v 打印以下内容:Phusion Passenger 版本 3.0.2
- 我不确定如何判断我的 nginx 版本是什么,但它应该是我昨天通过上面教程中列出的乘客安装程序命令安装的最新版本。
- 我有 两个用户 处理安装。 root 是我用来安装所有内容的用户,而 deployer 是我专门为部署我的应用程序而创建的用户
- 我的网络应用程序目录位于部署者用户的主目录中,如下所示:/home/deployer/webapps/mysite.com/public
- 根据 Capistrano 默认部署,在公共文件夹中创建一个名为 current 的符号链接,并指向 /home/deployer/webapps/mysite.com/public/releases/most_current_release
- 我已将部署程序目录递归地修改为 777
- /opt/nginx 权限:rwxr-xr-x
- /usr/local/rvm/gems/ree-1.8.7-2010.02/gems/passenger-3.0.2 权限:rwxrwsrwx
- 我的 nginx 配置文件经历了短暂的变化,但目前看起来像这样:
================================================ ====================================
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 中,它会呈现。但是rails没有用。
基本上就是这样。在这一点上,我几乎完全用尽了我能想到的所有可能的解决方案尝试。我是一名程序员,绝对不是系统管理员,所以我 99% 确信这与我已经获得的权限有关,但对于我的一生,我就是不知道在哪里。
如果有人可以提供帮助,我将不胜感激。如果您希望我检查任何特定权限(即组/权限),您能否也包括执行此操作的命令。希望这对以后阅读这篇文章的其他人有所帮助。
如果有任何其他信息我可以提供,请告诉我,提前谢谢!!!
【问题讨论】:
-
有人吗?我太难了。接近完全放弃 nginx。帮助?请问?
标签: ruby-on-rails-3 nginx capistrano passenger