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

目录

前言

server_name指令

精确匹配配置

 通配符模式配置

正则表达式配置

server_name与host匹配优先级如下:

如果都不匹配

前言

作为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 中可以使用正则表达式,并且使用 ~ 作为正则表达式字符串的开始标记
代码说明
^匹配搜索字符串开始位置
$匹配搜索字符串结束位置
.匹配除换行符 \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服务,浏览器访问上面的地址,可以看到仍然能正常访问

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内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    nginx开启日志

    nginx开启日志,日志,错误,vim /usr/local/nginx/conf/nginx.confuser nginx;worker_processes 2;error_log logs/error.log; (开启错误日

    Nginx 灰度发布(基于cookies)

    Nginx 灰度发布(基于cookies),灰度,用户,背景介绍 灰度发布,主要任务是从产品用户群中按照一定策略选取部分用户,让他们先行体验新功能或版本

    nginx 重启

    nginx 重启,重启,配置文件,平滑,定时重启,请求,中断,nginx重启对于网站的运维来说是非常重要的。根据不同的需求,可以选择简单重启、平滑重启或

    nginx 怎么读

    nginx 怎么读,服务,服务器,反向代理,并发,代理服务器,电子邮件,nginx 怎么读?nginx的官方正确读音是“恩静埃克斯”即“ Engine X”或者“en-juh

    nginx重启的办法

    nginx重启的办法,重启,配置,命令,更改,服务器,加载,nginx重启的方法:1、在Linux上重启Nginx,使用systemd来管理Nginx服务,它将重启Nginx并读取任何

    停止nginx服务的方法有哪些

    停止nginx服务的方法有哪些,服务,命令,方法,进程,杀死进程,有哪些,停止nginx服务有四种方法,如下:1、从容停止服务这种方法相对于温和一些,需要进

    linux怎么关闭nginx

    linux怎么关闭nginx,命令,进程,查看,方法,启动,杀死进程,linux关闭nginx的方法:1、利用“ps -ef | grep nginx”命令查看nginx进程后,利用“kill

    Nginx的服务器安全与企业内外防火墙

    Nginx的服务器安全与企业内外防火墙,服务器,防火墙,企业,安全性,监测,流量,Nginx是一款高性能的开源Web服务器软件,广泛用于企业项目中。Nginx的

    nginx启动、关闭、重启

    nginx启动、关闭、重启,进程,配置文件,nginx由一个master进程和若干worker进程组成,master进程主要用于读取配置文件和管理worker进程.work

    WIN10配置NGINX+PHP环境

    WIN10配置NGINX+PHP环境,注释,脚本,WIN10配置NGINX+PHP环境 版本 nginx-1.11.8 php-7.1.0-nts-Win32-VC14-x64 修改配置 修改php.in

    Nginx反向代理附件上传

    Nginx反向代理附件上传,上传,上传文件,前段时间公司测试同事说上传附件过大了就上传失败了,昨天一个人来加班,静下心来,慢慢的捋了一遍,大概过