server_name 指令
server_name:用来设置虚拟主机服务名称。
语法server name name …默认值server_name “”位置server
关于server_name的配置方式
1.精确匹配
2.通配符匹配
3.正则表达式匹配
匹配方式一:精确匹配
server{
listen 80;
server_name www.baidu.com ww.qq.com;}
使用域名需要将本地的host文件 进行更改,否则直接跳转的是官方网站。
匹配方式二:使用通配符
server_name 中支持使用"*" , 型号只能出现在域名的两边,不能出现在中间
server{
listen 80;
server_name *.baidu.com www.qq.*
}
错误配法
server{
listen 80;
server_name www.*.com;
}
匹配方式三:
server_name 中可以使用正则表达式,并且使用~ 作为正则表达式字符串的开始标记。
代码说明^匹配搜索字符串开始位置$匹配搜索字符串结束位置.匹配除换行\n 之外的任何单个字符\转义字符,将下一个字符标记为特殊字符xyz字符集,与任意一个指定字符匹配a-z字符范围,匹配指定范围内的任何字符\w与以下任意字符匹配 A-Z a-z 0-9 和下划线 等下于[A-Za-z0-9]\d数字字符匹配,等效于[0-9]{n}正好匹配n次{n.}至少匹配n次{n,m}匹配至少n次至多m次*零次或多次等下于{0.}+一次或多次,等下于{1,}?零次或一次,等效于{0,1}
server{
listen 80;
server name ~^www.(\w+)([a-z]+)\.com;#www.xxx.com 在xxx中只要含有 任意字符并且超过一次 及匹配成功
loaction /{
default_type:text\plain;return200'$1 $2'#$1 会打印第一个()中匹配的值;}
三种匹配方式的执行顺序
准确匹配>通配符匹配>正则表达式匹配>default_server(没有匹配到,默认为第一个server)
location 指令用来设置请求的URL
语法location [ = / ~ / ~* / ^ ~ / @ ] url {…}默认值-位置server.location
url 变量是匹配的请求字符串,可以不包含正则表达式,也可以包含正则表达式,那么nginx服务器在搜索匹配location的时候,是先使用不包含正则表达式进行匹配,找到一个匹配度最高的一个,然后在通过包含正则表达式的进行匹配,如果能直接访问,匹配不到,就使用刚才匹配度最高的那个localtion 来处理请求
不指定
不要带符号,要求必须以指定模式开始
server{
listen 80;
server_name localhost;
location /abc {
default_type text/plain;return200"access success"}}
提下连接都可以访问到
http://localhost:80/abc
http://localhost:80/abc?p1=TOM
http://localhost:80/abc/
http://localhost:80/abcdef
版权归原作者 是杨杨呀 所有, 如有侵权,请联系我们删除。