Ruby on rails 如何设置nginx以允许在ubuntu 12.04上使用/suburi进行访问?

Ruby on rails 如何设置nginx以允许在ubuntu 12.04上使用/suburi进行访问?,ruby-on-rails,http,ubuntu,nginx,Ruby On Rails,Http,Ubuntu,Nginx,我们正在设置一个nginxweb服务器,以允许在Rails3.1应用程序中访问/suburi(例如访问URL:)。这里的subrui名称是byop。我们的rails文档根目录位于/var/www/。子URI byop位于/var/www/byop。以下是我们在成功部署rails后所做的工作: 设置nginx.conf: 服务器{ 听80; 服务器名称154.248.209.181; root/var/www/; 乘客_开启; 环保生产;; 客运基地/客运站; } 在/var/www下创建符号链接

我们正在设置一个nginxweb服务器,以允许在Rails3.1应用程序中访问/suburi(例如访问URL:)。这里的subrui名称是byop。我们的rails文档根目录位于/var/www/。子URI byop位于/var/www/byop。以下是我们在成功部署rails后所做的工作:

  • 设置nginx.conf:

    服务器{ 听80; 服务器名称154.248.209.181; root/var/www/; 乘客_开启; 环保生产;; 客运基地/客运站; }

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

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

  • nginx已停止并重新启动。然而,403禁止页面显示为

    我们检查了/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
    

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

    我们发现的问题在于创建符号链接的步骤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
    
    然后打开页面