我想按如下方式配置我的服务器:
example.com
/site1
和/site2
是否可以配置sites-available/site1
和sites-available/site2
配置文件,以便在第一种情况下通过http://example.com/site1
访问它们,在第二种情况下通过http://example.com/site2
进行访问?
谢谢!
答案 0 :(得分:2)
您可以将它们分成2个文件,但这有点棘手,因为您基本上创建了一个网站,但配置了两个位置,例如这里是一个骨架
server {
# listen 80 is default
location /site1 {
# do stuff
}
location /site2 {
# do different stuff
}
}
要将其分开,您需要在服务器范围内包含这两个位置,而不是http范围(默认情况下会发生)
为此,您需要示例创建一个名为/etc/nginx/site-includes
的文件夹,并在其中添加site1
和site2
,然后在您的网站内在/etc/nginx/sites-available
内,您可以像这样包含它们
server {
# listen 80 is default
include /etc/nginx/site-includes/site1;
include /etc/nginx/site-includes/site2;
}
每个文件都会包含location
代码段
location /site1 {
# do stuff
}
您可以使用通配符
删除依赖项(文件名)server {
# listen 80 is default
include /etc/nginx/site-includes/my-site/*;
}
然后在/etc/nginx/site-includes/my-site/
目录中添加尽可能多的文件。
/etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;