国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

如何將 Nginx 配置為Web服務器的方法

2024-08-30 12:21:46
字體:
來源:轉載
供稿:網友
本篇文章主要介紹了如何將 Nginx 配置為Web服務器的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

閱讀之前,建議先閱讀初識 Nginx。 之后,我們來了解一下 Nginx 配置。

抽象來說,將 Nginx 配置為 Web 服務器就是定義處理哪些 URLS 和如何處理這些URLS 對應的請求。具體來說,就是定義一些虛擬服務器(Virtual Servers),控制具有特定 IP 和域名的請求。

更具體的來說, Nginx 通過定義一系列 locations 來控制對 URIS 的選擇。每一個 location 定義了對映射到自己的請求的處理場景:返回一個文件或者代理請求,或者根據不同的錯誤代碼返回不同的錯誤頁面。另外,根據 URI 的不同,請求也可以被重定向到其它 server 或者 location 。

設置虛擬服務器

listen:

Nginx 配置文件至少包含一個 server 命令 ,用來定義虛擬服務器。當請求到來時, Nginx 會首先選擇一個虛擬服務器來處理該請求。

虛擬服務器定義在 http 上下文中的 server 中:

http { server {  # Server configuration }}

注意: http 中可以定義多個 server

server 配置塊使用 listen 命令監聽本機 IP 和端口號(包括 Unix domain socket and path),支持 IPv4、IPv6,IPv6地址需要用方括號括起來:

server { listen 127.0.0.1:8080; # IPv4地址,8080端口 # listen [2001:3CA1:10F:1A:121B:0:0:10]:80; # IPv6地址,80端口 # listen [::]:80; # 聽本機的所有IPv4與IPv6地址,80端口 # The rest of server configuration}

上述配置,如果不寫端口號,默認使用80端口,如果不寫 IP ,則監聽本機所有 IP。

server_name:

如果多個 server 的 listen IP 和端口號一模一樣, Nginx 通過請求頭中的 Host 與 server_name 定義的主機名進行比較,來選擇合適的虛擬服務器處理請求:

server { listen  80; server_name lufficc.com www.lufficc.com; ...}

server_name 的參數可以為:

完整的主機名,如:api.lufficc.com 。 含有通配符(含有 *),如:*.lufficc.com 或 api.* 。 正則表達式,以 ~ 開頭。

通配符只能在開頭或結尾,而且只能與一個 . 相鄰。www.*.example.org 和 w*.example.org均無效。 但是,可以使用正則表達式匹配這些名稱,例如 ~^www/..+/.example/.org$ 和~^w.*/.example/.org$ 。 而且 * 可以匹配多個部分。 名稱 * .example.org 不僅匹配www.example.org,還匹配www.sub.example.org。

對于正則表達式:Nginx 使用的正則表達式與 Perl 編程語言(PCRE)使用的正則表達式兼容。 要使用正則表達式,且必須以 ~ 開頭。

命名的正則表達式可以捕獲變量,然后使用:

server { server_name ~^(www/.)?(?<domain>.+)$; location / {  root /sites/$domain; }}

小括號 () 之間匹配的內容,也可以在后面通過 $1 來引用,$2 表示的是前面第二個 () 里的內容。因此上述內容也可寫為:

server { server_name ~^(www/.)?(.+)$; location / {  root /sites/$2; }}

一個 server_name 示例:

server { listen  80; server_name api.lufficc.com *.lufficc.com; ...}

同樣,如果多個名稱匹配 Host 頭部, Nginx 采用下列順序選擇:

完整的主機名,如 api.lufficc.com。 最長的,且以 * 開頭的通配名,如:*.lufficc.com。 最長的,且以 * 結尾的通配名,如:api.* 。 第一個匹配的正則表達式。(按照配置文件中的順序)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绍兴市| 那坡县| 庆安县| 凤阳县| 宜城市| 伊吾县| 祁连县| 辛集市| 恩平市| 汨罗市| 南丹县| 长汀县| 宁津县| 修水县| 奉新县| 东乡县| 揭西县| 布拖县| 济南市| 黄冈市| 海兴县| 建瓯市| 遂平县| 禹州市| 伊通| 温泉县| 昌乐县| 夏津县| 江门市| 泾源县| 泗阳县| 中牟县| 玛多县| 古浪县| 镇宁| 安义县| 开平市| 和平县| 手游| 凤山市| 深州市|