• <dd id="hdgin"><track id="hdgin"></track></dd>
  • <em id="hdgin"><tr id="hdgin"></tr></em>
  • <th id="hdgin"><track id="hdgin"><noframes id="hdgin"></noframes></track></th>
        <rp id="hdgin"><ruby id="hdgin"></ruby></rp>

        <legend id="hdgin"><noscript id="hdgin"><video id="hdgin"></video></noscript></legend>
          <dd id="hdgin"><track id="hdgin"></track></dd>
            首頁 運維干貨Nginx - 最小配置

            Nginx - 最小配置

            運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
            領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

            Nginx - 最小配置插圖

            安全服務器是只允許所需數量的服務器。理想情況下,我們將通過單獨啟用其他功能來基于最小系統構建服務器。進行最少的配置也有助于調試。如果該錯誤在最小系統中不可用,則分別添加功能,然后繼續搜索錯誤。

            這是運行nginx所需的最低配置:

            # /etc/nginx/nginx.confevents {}         # event context have to be defined to consider config validhttp {
             server {
                listen 80;
                server_name  javatpoint.co  www.javatpoint.co  *.javatpoint.co;
            
                return 200 "Hello";
              }}
            

            Root,Location和try_files指令

            Root 指令

            root指令用于設置請求的根目錄,從而允許nginx將傳入的請求映射到文件系統上。

            server {
              listen 80;
              server_name javatpoint.co;
              root /var/www/javatpoint.co;
            }
            

            它允許nginx根據請求返回服務器內容:

            javatpoint.co:80/index.html     # returns /var/www/learnfk.com/index.html
            javatpoint.co:80/foo/index.html # returns /var/www/learnfk.com/foo/index.html
            

            Location指令

            location指令用于根據請求的URI(統一資源標識符)來設置配置。

            語法為:

            location [modifier] path
            

            示例:

            location /foo {
              # ...
            }
            

            如果未指定修飾符,則將路徑視為前綴,之后可以跟隨任何內容。上面的示例將匹配:

            /foo
            /fooo
            /foo123
            /foo/bar/index.html
            ...
            

            我們還可以在給定的上下文中使用多個location指令:

            server {
              listen 80;
              server_name javatpoint.co;
              root /var/www/javatpoint.co;
            
              location/{
                return 200 "root";
              }
            
              location /foo {
                return 200 "foo";
              }
            }
            javatpoint.co:80  /      # => "root"
            javatpoint.co:80   /foo    # => "foo"
            javatpoint.co:80   /foo123 # => "foo"
            javatpoint.co:80   /bar    # => "root"
            

            Nginx還提供了一些可以與 location 指令結合使用的修飾符。

            修飾符已分配優先級:

            =           - Exact match
            ^~          - Preferential match
            ~ && ~*     - Regex match
            no modifier - Prefix match
            

            首先,nginx將檢查所有精確匹配項。如果不存在,它將尋找優先選項。如果此匹配也失敗,則將按其出現順序測試正則表達式匹配。如果其他所有操作均失敗,則將使用最后一個前綴匹配。

            location /match {
              return 200 'Prefix match: will match everything that starting with /match';
            }
            
            location ~* /match[0-9] {
              return 200 'Case insensitive regex match';
            }
            
            location ~ /MATCH[0-9] {
              return 200 'Case sensitive regex match';
            }
            
            location ^~ /match0 {
              return 200 'Preferential match';
            }
            
            location = /match {
              return 200 'Exact match';
            }
            /match     # => 'Exact match'
            /match0    # => 'Preferential match'
            /match1    # => 'Case insensitive regex match'
            /MATCH1    # => 'Case sensitive regex match'
            /match-abc # => 'Prefix match: matches everything that starting with /match'
            

            try_files指令

            該指令嘗試不同的路徑,并返回找到的任何路徑。

            try_files $uri index.html =404;
            

            因此,/foo.html將嘗試按以下順序返回文件:

            $uri(/foo.html);
            
            index.html
            

            如果未找到:404

            如果我們在服務器上下文中定義try_files,然后定義查找所有請求的位置,則不會執行try_files。發生這種情況是因為服務器上下文中的try_files定義了其偽位置,該偽位置是可能的最低特定位置。因此,定義location/ 會比我們的偽位置更具體。

            server {
              try_files $uri /index.html =404;
            
              location/{
              }
            }
            

            因此,我們應該避免在服務器上下文中使用try_files:

            server {
              location/{
                try_files $uri /index.html =404;
              }
            }
            

            作者:GeekGay
            鏈接:https://www.imooc.com/article/319107
            (版權歸原作者所有,侵刪)

            本文鏈接:http://m.abandonstatusquo.com/40222.html

            網友評論comments

            發表評論

            您的電子郵箱地址不會被公開。

            暫無評論

            Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
            掃二維碼
            掃二維碼
            返回頂部
            久久久久亚洲国内精品|亚洲一区二区在线观看综合无码|欧洲一区无码精品色|97伊人久久超碰|一级a爱片国产亚洲精品