Nginx--server块配置

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;
          return 200 '$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;
      return 200 "access success" 
}
}
提下连接都可以访问到
http://localhost:80/abc
http://localhost:80/abc?p1=TOM
http://localhost:80/abc/
http://localhost:80/abcdef

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是杨杨呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值