nginx配置指令之server_name的具體使用
前言
作為nginx的http模塊中的重要指令,對于使用nginx的同學來說,有必要做深入的了解;
server_name指令
用于設(shè)置虛擬主機服務(wù)名稱,如:127.0.0.1 、 localhost 、域名[www.baidu.com | www.jd.com]
關(guān)于 server_name 的配置方式有三種,分別是:
- 精確匹配
- 通配符匹配
- 正則表達式匹配
精確匹配配置
server { listen 80; server_name www.baidu.com www.localhost; }
如下:在windows本地的nginx.conf配置文件中配置了如下參數(shù)
需要注意的是,如果是在實際的生產(chǎn)服務(wù)器上面進行配置的話,域名一定是有效的,server_name可以配置多個,然后重啟nginx服務(wù),訪問下試試,可以看到通過兩種方式都可以訪問到nginx;
通配符模式配置
server_name 中支持通配符 "*", 但需要注意的是通配符不能出現(xiàn)在域名的中間,只能出現(xiàn)在首段或尾段
server_name localhost www.zcy.*;
如本地的nginx按照上面的配置,重啟nginx服務(wù)之后,通過瀏覽器進行訪問,可以看到均可以訪問到;
正則表達式配置
server_name 中可以使用正則表達式,并且使用 ~ 作為正則表達式字符串的開始標記
代碼 | 說明 |
^ | 匹配搜索字符串開始位置 |
$ | 匹配搜索字符串結(jié)束位置 |
. | 匹配除換行符 \n 之外的任何單個字符 |
\ | 轉(zhuǎn)義字符,將下一個字符標記為特殊字符 |
[xyz] | 字符集,與任意一個指定字符匹配 |
[a-z] | 字符范圍,匹配指定范圍內(nèi)的任何字符 |
\w | 與以下任意字符匹配 A-Z a-z 0-9 和下劃線 , 等效于 [A-Za-z0-
9_] |
\d | 數(shù)字字符匹配,等效于 [0-9] |
{n} | 正好匹配 n 次 |
{n,} | 至少匹配 n 次 |
{n,m} | 匹配至少 n 次至多 m 次 |
* | 零次或多次,等效于 {0,} |
+ | 一次或多次,等效于 {1,} |
? | 零次或一次,等效于 {0,1} |
實際配置案例
server_name ~^www\.(\w+)\.com$;
重啟nginx服務(wù),瀏覽器訪問上面的地址,可以看到仍然能正常訪問
server_name與host匹配優(yōu)先級如下:
1、完全匹配
2、通配符在前的,如*.test.com
3、在后的,如www.test.*
4、正則匹配,如~^\.www\.test\.com$
如果都不匹配
1、優(yōu)先選擇listen配置項后有default或default_server的
2、找到匹配listen端口的第一個server塊
到此這篇關(guān)于nginx配置指令之server_name的具體使用的文章就介紹到這了,更多相關(guān)nginx server_name內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx配置keepalive長連接的實現(xiàn)方法
長連接允許客戶端在同一個TCP連接上發(fā)送多個請求,以減少連接握手的開銷,提高網(wǎng)站性能,本文主要介紹了nginx配置keepalive長連接的實現(xiàn)方法,感興趣的可以了解一下2023-08-08為nginx設(shè)置默認虛擬主機(空主機頭,默認主機頭)
nginx的默認虛擬主機在用戶通過IP訪問,或者通過未設(shè)置的域名訪問(比如有人把他自己的域名指向了你的ip)的時候生效2010-11-11解析prometheus+grafana監(jiān)控nginx的方法
?在prometheus需要向ngxin中打入探針,通過探針獲取ngxin信息,并通過接口輸出。下文將講述如何監(jiān)控ngxin,感興趣的朋友跟隨小編一起看看吧2021-11-11詳解Keepalived+Nginx實現(xiàn)高可用(HA)
這篇文章主要介紹了詳解Keepalived+Nginx實現(xiàn)高可用(HA),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06