我们正在设置一个nginx Web服务器,以便在我们的rails 3.1 app中允许/ suburi访问(例如访问URL:http://www.railapp.com/subdomain)。这里的subrui名称是byop。我们的rails文件根子目录位于/ var / www /。 suburi byop位于/ var / www / byop。以下是我们在成功部署rails后所做的事情:
设置nginx.conf:
服务器{ 听80; server_name 154.248.209.181; root / var / www /; 乘客启用; rails_env生产; passenger_base_uri / byop; }
在/ 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
我们上面的设置有什么问题?非常感谢。
答案 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显示页面。