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实现上游服务器动态自动上下线无需reload的实现方法
Mar 31 Servers
nginx实现发布静态资源的方法
Mar 31 Servers
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
May 26 Servers
Apache POI的基本使用详解
Nov 07 Servers
使用 Apache 反向代理的设置技巧
Jan 18 Servers
使用kubeadm命令行工具创建kubernetes集群
Mar 31 Servers
Nginx限流和黑名单配置
May 20 Servers
Nginx静态压缩和代码压缩提高访问速度详解
May 30 Servers
linux目录管理方法介绍
Jun 01 Servers
Ubuntu安装Mysql+启用远程连接的完整过程
Jun 21 Servers
阿里云服务器(windows)手动部署FTP站点详细教程
Aug 05 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
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
默默简单的写了一个模板引擎
2007/01/02 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
php获取远程文件大小
2015/10/20 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
Python下载指定页面上图片的方法
2016/05/12 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
python装饰器深入学习
2018/04/06 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
工艺工程师岗位职责
2014/03/04 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers