nginx 配置指令之server_name

66 篇文章 1 订阅
64 篇文章 2 订阅
本文详细介绍了Nginx配置中的server_name指令,它是设置虚拟主机服务名称的关键指令。内容涵盖了server_name的三种配置方式:精确匹配、通配符匹配和正则表达式匹配。通过实例展示了如何配置和使用这些匹配方式,并强调了在实际生产环境中确保域名有效的重要性。此外,还提供了正则表达式的常见用法和实际配置案例。
摘要由CSDN通过智能技术生成

前言

作为nginx的http模块中的重要指令,对于使用nginx的同学来说,有必要做深入的了解;

server_name****指令

用于设置虚拟主机服务名称,如:127.0.0.1 、 localhost 、域名[www.baidu.com | www.jd.com]

关于 server_name 的配置方式有三种,分别是:

  • 精确匹配
  • 通配符匹配
  • 正则表达式匹配

精确匹配配置

server {
	listen 80;
	server_name www.baidu.com www.localhost;
}

如下:在windows本地的nginx.conf配置文件中配置了如下参数

需要注意的是,如果是在实际的生产服务器上面进行配置的话,域名一定是有效的,server_name可以配置多个,然后重启nginx服务,访问下试试,可以看到通过两种方式都可以访问到nginx;

通配符模式配置

server_name 中支持通配符 “*”, 但需要注意的是通配符不能出现在域名的中间,只能出现在首段或尾段

server_name localhost  www.zcy.*;

如本地的nginx按照上面的配置,重启nginx服务之后,通过浏览器进行访问,可以看到均可以访问到;

正则表达式配置

server_name 中可以使用正则表达式,并且使用 ~ 作为正则表达式字符串的开始标记

常见的正则表达式

代码

说明

^

匹配搜索字符串开始位置

$

匹配搜索字符串结束位置

.

匹配除换行符 之外的任何单个字符

转义字符,将下一个字符标记为特殊字符

[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_name ~^www.(w+).com$;

重启nginx服务,浏览器访问上面的地址,可以看到仍然能正常访问

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值