在 nginx.conf 里面配置多个 server
:
在开始处理一个 http 请求时,
nginx
会取出 header 头中的 host,与 nginx.conf 中每个
server
的 server_name 进行匹配,以此决定到底由哪一个 server 块来处理这个请求
里面的 server_name:
用于配置基于名称的虚拟主机
除了完全匹配,还可以以通配符:
1、以*通配符开始
的字符串:
server_name *.domain.com;
2、以*通配符结束
的字符
server_name www.*;
3、匹配正则表达式
server_name ~^(?.+).domain.com$;
server {
listen 80 default_server;
server_name www.123.com;
root /home/web1;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50.xhtml;
location = /50x.html {
}
}
server {
server_name www.abc.com;
root /home/web2;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}