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

首頁 > 網站 > Nginx > 正文

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

2024-08-30 12:25:45
字體:
來源:轉載
供稿:網友

閱讀之前,建議先閱讀初識 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 表示的是前面第二個 () 里的內容。因此上述內容也可寫為:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜春市| 岑巩县| 灌阳县| 象州县| 东莞市| 尚志市| 马边| 恩平市| 西乌| 梓潼县| 句容市| 奉化市| 清水县| 巫山县| 淳安县| 永胜县| 敦煌市| 河西区| 台山市| 牟定县| 滦平县| 眉山市| 伊通| 宿迁市| 五台县| 广饶县| 大姚县| 西吉县| 喀喇| 彭山县| 玉山县| 佛冈县| 丹东市| 乐东| 桂阳县| 竹山县| 湘乡市| 和硕县| 永胜县| 蕲春县| 资溪县|