您当前的位置: 首页 > 技术文章 > 前端开发

nginx 配置指令之server_name

作者: 时间:2022-06-12阅读数:人阅读

前言

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

server_name指令

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

nginx 配置指令之server_name(图1)

关于 server_name 的配置方式有三种,分别是:
  • 精确匹配
  • 通配符匹配
  • 正则表达式匹配

精确匹配配置

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

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

nginx 配置指令之server_name(图2) 

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

nginx 配置指令之server_name(图3)

 

nginx 配置指令之server_name(图4)

 通配符模式配置

server_name 中支持通配符 "*", 但需要注意的是通配符不能出现在域名的中间,只能出现在首段或尾段
server_name localhost  www.zcy.*;

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

 

nginx 配置指令之server_name(图5)

 

nginx 配置指令之server_name(图6)

nginx 配置指令之server_name(图7) 

正则表达式配置

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

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

nginx 配置指令之server_name(图8)

 

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:licqi@yunshuaiweb.com

加载中~
如果您对我们的成果表示认同并且觉得对你有所帮助可以给我们捐赠。您的帮助是对我们最大的支持和动力!
捐赠我们
扫码支持 扫码支持
扫码捐赠,你说多少就多少
2
5
10
20
50
自定义
您当前余额:元
支付宝
微信
余额

打开支付宝扫一扫,即可进行扫码捐赠哦

打开微信扫一扫,即可进行扫码捐赠哦

打开QQ钱包扫一扫,即可进行扫码捐赠哦