91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx怎么配置Web服務器

發布時間:2021-12-10 17:32:06 來源:億速云 閱讀:171 作者:iii 欄目:服務器

本篇內容主要講解“Nginx怎么配置Web服務器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Nginx怎么配置Web服務器”吧!

1. 設置虛擬服務器

NGINX配置文件必須至少包含一個服務器指令來定義虛擬服務器。 當NGINX處理請求時,它首先選擇提供請求的虛擬服務器。

虛擬服務器由http上下文中的服務器指令定義,例如:

http {  server {  # Server configuration  } }

可以將多個server指令添加到http上下文中以定義多個虛擬服務器。

server配置塊通常包括一個listen指令,用于指定服務器偵聽請求的IP地址和端口(或Unix域套接字和路徑)。IPv4和IPv6地址均被接受;  將方括號(。

下面的示例顯示了監聽IP地址127.0.0.1和端口8080的服務器的配置:

server {  listen 127.0.0.1:8080;  # The rest of server configuration }

如果省略端口,則使用標準端口。 同樣地,如果省略一個地址,服務器將偵聽所有地址。  如果沒有包含listen指令,則“標準”端口為80/tcp,“default”端口為8000/tcp,具體取決于超級用戶權限。

如果有多個服務器與請求的IP地址和端口相匹配,則NGINX將根據服務器塊中的server_name指令測試請求的主機頭域。  server_name的參數可以是完整(精確)名稱,通配符或正則表達式。 通配符是一個字符串,其開頭,結尾或兩者都包含星號(*); 星號匹配任何字符序列。  NGINX將Perl語法用于正則表達式; 在它們之前使用波浪號()。 此示例說明了一個確切的名稱。

server {  listen 80;  server_name example.org www.example.org;  ... }

2. 配置位置

NGINX可以根據請求URI向不同的代理發送流量或提供不同的文件。 這些塊是使用放置在server指令中的location指令來定義的。

例如,您可以定義三個location塊,以指示虛擬服務器向一個代理服務器發送一些請求,將其他請求發送到不同的代理服務器,并通過從本地文件系統傳遞文件來提供其余請求。

NGINX測試根據所有location指令的參數請求URI,并應用匹配location中定義的指令。  在每個location塊內,通常可能(除了一些例外)放置更多的location指令以進一步細化特定組請求的處理。

注意:在本教程文章中,單詞location是指單個location上下文。

location指令有兩種類型的參數:前綴字符串(路徑名)和正則表達式。 對于要匹配前綴字符串的請求URI,必須以前綴字符串開頭。

具有pathname參數的以下示例位置匹配以/some/path/開頭的請求URI,例如/some/path/document.html,它不匹配/my-site/some/path,因為/some/path不在該URI的開頭出現。

location /some/path/ {  ... }

正則表達式之前是區分大小寫匹配的波形符號(~),或者不區分大小寫匹配的波形符號(~*)。  以下示例將包含字符串.html或.html的URI與任何位置相匹配。

location ~ \.html? {  ... }

要找到最符合URI的位置,NGINX首先將URI與前綴字符串的位置進行比較。然后用正則表達式搜索位置。

location上下文可以包含定義如何解析請求的指令 - 提供靜態文件或將請求傳遞給代理的服務器。  在以下示例中,匹配第一個location上下文的請求將從/data/images目錄中提供文件,并將匹配第二個位置的請求傳遞給承載  www.example.com 域內容的代理服務器。

server {  location /images/ {  root /data;  }  location / {  proxy_pass http://www.example.com;  } }

root指令指定要在其中搜索要提供的靜態文件的文件系統路徑。 與該位置相關聯的請求URI將附加到路徑,以獲取要提供的靜態文件的全名。  在上面的示例中,要響應/images/logo.png的請求,NGINX提供服務器本地實際對應文件是:/data/images/logo.png。

proxy_pass指令將請求傳遞給使用配置的URL訪問代理服務器。然后將代理服務器的響應傳回客戶端。在上面的示例中,所有不以/images/開頭的URI的請求都將被傳遞給代理的服務器(也就是:www.example.com)。

3. 使用變量

可以使用配置文件中的變量,使NGINX進程的請求根據定義的情況而有所不同。 變量是在運行時計算的命名值,用作指令的參數。  一個變量由它的名字開頭的$(美元)符號表示。 變量根據NGINX的狀態定義信息,例如正在處理的請求的屬性。

有許多預定義的變量,如核心HTTP變量,您可以使用set,map和geo指令定義自定義變量。 大多數變量在運行時計算的,并包含與特定請求相關的信息。  例如,$remote_addr包含客戶端IP地址,$uri保存當前的URI值。

4. 返回特定狀態碼

一些網站URI需要立即返回具有特定錯誤或重定向代碼的響應,例如當頁面被暫時移動或永久移動時。 最簡單的方法是使用return指令。  例如返回未找到的404狀態碼:

location /wrong/url {  return 404; }

返回的第一個參數是響應代碼。可選的第二個參數可以是重定向的URL(代碼301,302,303和307)或在響應體中返回文本。 例如:

location /permanently/moved/url {  return 301 http://www.example.com/moved/here; }

返回指令可以包含在 location 和 server 上下文中。

5. 重寫HTTP響應

有時需要重寫或更改HTTP響應中的內容,將一個字符串替換為另一個字符串。 可以使用sub_filter指令來定義要應用的重寫。  該指令支持變量和替代鏈,使更復雜的更改成為可能。

例如,可以更改引用除代理服務器之外的絕對鏈接:

location / {  sub_filter /blog/ /blog-staging/;  sub_filter_once off; }

另一個示例將方法從http://更改為http://,并從請求頭域替換本地主機地址到主機名。  sub_filter_once指令告訴NGINX在一個位置(location)內連續應用sub_filter偽指令:

location / {  sub_filter 'href="http://127.0.0.1:8080/' 'href="http://$host/';  sub_filter 'img src="http://127.0.0.1:8080/' 'img src="http://$host/';  sub_filter_once on; }

請注意,如果發生另一個sub_filter匹配,則使用sub_filter修改的響應部分將不再被替換。

到此,相信大家對“Nginx怎么配置Web服務器”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清苑县| 行唐县| 西宁市| 五原县| 罗定市| 达孜县| 上蔡县| 绍兴县| 宣武区| 班玛县| 岑溪市| 高碑店市| 亚东县| 垫江县| 天台县| 班戈县| 和林格尔县| 商南县| 杭州市| 天峻县| 多伦县| 象山县| 新野县| 梅州市| 甘洛县| 施秉县| 镇雄县| 宝鸡市| 南华县| 西安市| 潜江市| 安庆市| 浙江省| 柯坪县| 自贡市| 阳信县| 赣榆县| 古交市| 贵州省| 孙吴县| 桂东县|