<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                本文介紹如何將NGINX配置作為Web服務器,并包括以下部分: 1. 設置虛擬服務器 2. 配置位置 3. 使用變量 4. 返回特定狀態碼 5. 重寫請求中的URI 6. 重寫HTTP響應 7. 處理錯誤 在高層次上,將NGINX配置作為Web服務器有一些問題需要了解,定義它處理哪些URL以及如何處理這些URL上的資源的HTTP請求。 在較低層次上,配置定義了一組控制對特定域或IP地址的請求的處理的虛擬服務器。 用于HTTP流量的每個虛擬服務器定義了稱為位置的特殊配置實例,它們控制特定URI集合的處理。 每個位置定義了自己的映射到此位置的請求發生的情況。 NGINX可以完全控制這個過程。 每個位置都可以代理請求或返回一個文件。 此外,可以修改URI,以便將請求重定向到另一個位置或虛擬服務器。 此外,可以返回特定的錯誤代碼,也可以配置特定的頁面以對應于每個錯誤代碼。 #### 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; ... } ~~~ 如果匹配主機頭幾個名稱,則NGINX通過按以下順序搜索名稱并使用其找到的第一個匹配來選擇一個: * 確切的名字(完整準確的名稱) * 以星號開頭的最長通配符,例如:*.example.org * 以星號結尾的最長通配符,如:mail.* * 第一個匹配正則表達式(按照出現在配置文件中的順序) 如果主機頭字段與服務器名稱不匹配,則NGINX會將請求路由到請求到達端口的默認服務器。 默認服務器是nginx.conf文件中列出的第一個服務器,除非您將listen_server參數包含在listen指令中以明確指定服務器為默認值。 ~~~ server { listen 80 default_server; ... } ~~~ 一個完整的Nginx虛擬機配置示例,這里我們演示配置兩個虛擬機,對應域名分別為:`vhost1.com` 和` vhost2.com`,vhost1.com網站的主目錄在`/data/www/vhost1`,vhost2.com網站的主目錄在`/data/www/vhost2`: ~~~ server { listen 80; server_name vhost1.com www.vhost1.com; index index.html index.html; root /data/www/vhost1; access_log /var/log/vhost1.com.log; } server { listen 80; server_name vhost2.com www.vhost2.com; index index.html index.html; root /data/www/vhost2; access_log /var/log/vhost2.com.log; } ~~~ #### 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 上下文中。 使用error_page指令,您可以配置NGINX返回自定義頁面以及錯誤代碼,替換響應中的其他錯誤代碼,或將瀏覽器重定向到其他URI。 在以下示例中,error_page指令指定要返回404頁面錯誤代碼的頁面(/404.html)。 ~~~ error_page 404 /404.html; ~~~ 請注意,此偽指令并不立即返回該錯誤(返回指令執行該操作),而僅僅是指定發生時如何處理錯誤。 錯誤代碼可以來自代理服務器,或者在NGINX處理期間發生(例如,當NGINX找不到客戶端請求的文件時,顯示404對應的結果)。 在以下示例中,當NGINX找不到頁面時,它會將代碼301替換為代碼404,并將客戶端重定向到`http:/example.com/new/path.html`。 當客戶端仍嘗試訪問其舊URI的頁面時,此配置非常有用。 301代碼通知瀏覽器頁面已經永久移動,并且需要在返回時自動替換舊地址。 ~~~ location /old/path.html { error_page 404 =301 http:/example.com/new/path.html; } ~~~ * * * * * https://www.yiibai.com/nginx/nginx-web-server.html
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看