我的虚拟主机有以下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
我的配置有什么问题?
答案 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{}
块,并在那里指定其根目录和其他设置。