nginx配置指令之server_name的具体使用


Posted in Servers onAugust 14, 2022

前言

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

server_name指令

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

nginx配置指令之server_name的具体使用

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

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

精确匹配配置

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

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

nginx配置指令之server_name的具体使用

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

nginx配置指令之server_name的具体使用

nginx配置指令之server_name的具体使用

 通配符模式配置

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

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

nginx配置指令之server_name的具体使用

nginx配置指令之server_name的具体使用

nginx配置指令之server_name的具体使用

正则表达式配置

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的具体使用

server_name与host匹配优先级如下:

1、完全匹配

2、通配符在前的,如*.test.com

3、在后的,如www.test.*

4、正则匹配,如~^\.www\.test\.com$

如果都不匹配

1、优先选择listen配置项后有default或default_server的

2、找到匹配listen端口的第一个server块

 到此这篇关于nginx配置指令之server_name的具体使用的文章就介绍到这了,更多相关nginx server_name内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Nginx的rewrite模块详解
Mar 31 Servers
Nginx中break与last的区别详析
Mar 31 Servers
小程序后台PHP版本部署运行 LNMP+WNMP
Apr 01 Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 Servers
使用 Docker Compose 构建复杂的多容器App
Apr 30 Servers
Nginx利用Logrotate实现日志分割
May 20 Servers
聊聊配置 Nginx 访问与错误日志的问题
May 25 Servers
Nginx本地配置SSL访问的实例教程
May 30 Servers
Win2008系统搭建DHCP服务器
Jun 25 Servers
GPU服务器的多用户配置方法
Jul 07 Servers
kubernetes集群搭建Zabbix监控平台的详细过程
Jul 07 Servers
django项目、vue项目部署云服务器的详细过程
Jul 23 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
Windows server 2016服务器基本设置
Windows Server 2016服务器用户管理及远程授权图文教程
Nginx 502 bad gateway错误解决的九种方案及原因
Aug 14 #Servers
Tomcat安装使用及部署Web项目的3种方法汇总
Aug 14 #Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
Docker容器harbor私有仓库部署和管理
Aug 05 #Servers
You might like
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
javascript 面向对象的JavaScript类
2010/05/04 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
python中map的基本用法示例
2018/09/10 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
python 字段拆分详解
2019/12/17 Python
python数据分析:关键字提取方式
2020/02/24 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
实习生个人找工作的自我评价
2013/10/30 职场文书
健康状况证明书
2014/11/26 职场文书
pandas进行数据输入和输出的方法详解
2022/03/23 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python