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

时间:2012-05-06 03:40:53

标签: ruby-on-rails http ubuntu nginx

我们正在设置一个nginx Web服务器,以便在我们的rails 3.1 app中允许/ suburi访问(例如访问URL:http://www.railapp.com/subdomain)。这里的subrui名称是byop。我们的rails文件根子目录位于/ var / www /。 suburi byop位于/ var / www / byop。以下是我们在成功部署rails后所做的事情:

  1. 设置nginx.conf:

    服务器{    听80;    server_name 154.248.209.181;    root / var / www /;    乘客启用;    rails_env生产;    passenger_base_uri / byop; }

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

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

  3. 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
    

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

1 个答案:

答案 0 :(得分:1)

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

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显示页面。