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 相关文章推荐
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
Mar 09 Servers
使用nginx动态转换图片大小生成缩略图
Mar 31 Servers
使用goaccess分析nginx日志的详细方法
Jul 09 Servers
Nginx使用Lua模块实现WAF的原理解析
Sep 04 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
Apr 29 Servers
ubuntu下常用apt命令介绍
Jun 05 Servers
Linux中sftp常用命令整理
Jun 28 Servers
Windows server 2003卸载和安装IIS的图文教程
Jul 15 Servers
Nginx报404错误的详细解决方法
Jul 23 Servers
win10搭建配置ftp服务器的方法
Aug 05 Servers
ubuntu开机后ROS程序自启动问题
Dec 24 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
短波的认识
2021/03/01 无线电
一步一步学习PHP(3) php 函数
2010/02/15 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
javascript中常用编程知识
2013/04/08 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
javascript中 try catch用法
2015/08/16 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
python 剪切移动文件的实现代码
2018/08/02 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
2014年文员工作总结
2014/11/18 职场文书
房产证明范本
2015/06/19 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书