nginx:“location”作为“server”的别名?

nginx:“location”作为“server”的别名?

我在 /etc/nginx/sites-enabled 中设置了多个服务器的 nginx

但是,我想将我的设置转换为一个域我的服务器,因此在浏览器中输入

lalala.com

不再能让我找到合适的/usr/share/webapps/lalala子文件夹。

因此,我想创建某种绑定(如果可能的话),以便如果我输入

myserver.com/lalala

它会将我重定向到/usr/share/webapps同时仍然应用来自 /etc/nginx/sites-enabled/lalala

这是我的配置文件:

nginx.conf

服务器示例一 - ownCloud

答案1

首先从文件中删除该include /etc/nginx/sites-enabled/*;节,因为这会触发现在不受欢迎的在级别包含内容nginx.conf的行为。/etc/nginx/sites-available/http

现在您可以使用一些位置,例如:

server {
    root /usr/chare/webapps; # Or even move it to the upper level 'http'?

    location /lalala {
        include /etc/nginx/sites-available/lalala.conf
    }
}

然后,您可以使用正则表达式位置自动解析位置字符串以获取包含目录中相应的(现有?)文件。

但请注意一件非常重要的事情:传统上,类似目录的内容/etc/nginx/sites-available/server块,这使得 nginx 配置变得细粒度。确保它们的内容适合包含在location块中(试图将包含serverlocation显然行不通)。

还要注意其中包含的指令的范围,因为并非所有指令都可能在里面使用location

相关内容