2013-12-20 47 views
0

我有我的虚拟主机以下nginx的配置:Nginx的一个虚拟主机上的不同位置

server { 
    listen  80; 
    server_name myproject; 

    location/{ 
     root /var/www/project1; 
    } 

    location /project2 { 
     root /var/www/project2; 
    } 
} 

但Web服务器显示以下错误:

location "/" is outside location "/project2" 

我想先打开项目通过:http://myproject和第二个项目通过http://myproject/project2

我的配置有什么问题?

回答

0

您的server{}区块中只能有一个root。阅读关于Nginx的陷阱:http://wiki.nginx.org/Pitfalls并查看关于'Root inside location block'的部分。

root放在位置块外,并将其设置为/var/www。将项目1的索引文件(和其他文件)放入/var/www。创建一个文件夹(/var/www/project2)并将project2的索引等放置在此文件夹中。

您可以省略location /project2 {}部分,除非您想为此项目指定其他设置。如果设置与project1完全不同,我建议将project2的所有内容移动到另一个server{}块,并在其中指定其根目录和其他设置。