0

我们正在设置一个 nginx 网络服务器以允许在我们的 rails 3.1 应用程序中访问 /suburi(例如访问 URL:http ://www.railapp.com/subdomain )。这里的subrui名字是byop。我们的 rails 文档根子目录位于 /var/www/。suburi byop 位于 /var/www/byop。这是我们在成功部署 Rails 后所做的:

  1. 设置 nginx.conf:

    服务器{听80;服务器名称 154.248.209.181;根 /var/www/;乘客启用;rails_env 生产;乘客基地uri /byop;}

  2. 在 /var/www 下创建符号链接,如下所示:

    ln -s /var/www/byop/current/public /var/www/byop

nginx 被停止并重新启动。但是 403 Forbidden 页面显示为http://154.248.209.181/byop

我们检查了 /var/www 下的符号链接,没有列出链接(只有 byop 子目录)。这是 ls -li 的输出:

ubuntu@ip-10-152-95-60:/var/www$ ls -li
total 4
9296 drwxrwsr-x 4 ubuntu www-data 4096 May  6 03:12 byop

我们上面的设置有什么问题?非常感谢。

4

1 回答 1

1

我们发现的问题在于创建符号链接的第 2 步。子目录的名称和符号链接的名称相同。使用不同的符号链接名称后,问题解决了。这是工作副本:

1. Setup the nginx.conf:

server { 
    listen 80; 
    server_name 154.248.209.181; 
    root /var/www/; 
    passenger_enabled on; 
    rails_env production; 
    passenger_base_uri /by; 
 }

2. Create symlink under /var/www as following:

ln -s /var/www/byop/current/public /var/www/by

然后http://154.248.209.181/by调出页面。

于 2012-05-06T15:34:06.240 回答