Nginx在一个虚拟主机上的不同位置

时间:2013-12-20 11:33:03

标签: configuration nginx webserver

我的虚拟主机有以下nginx配置:

server {
    listen      80;
    server_name myproject;

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

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

但是网络服务器显示以下错误:

location "/" is outside location "/project2"

我想通过http://myproject打开第一个项目,通过http://myproject/project2

打开第二个项目

我的配置有什么问题?

1 个答案:

答案 0 :(得分:0)

root区块中只应有一个server{}。在这里阅读有关Nginx陷阱的信息:http://wiki.nginx.org/Pitfalls并查看关于' Root内部位置块的部分'。

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

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