日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

nginx安裝

Nginx安裝完成,沒有sbin目錄

cd進入到nginx-1.18.0目錄內執行

[root@centos7 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx[root@centos7 nginx-1.18.0]# make[root@centos7 nginx-1.18.0]# make install

登錄后復制

ps:–prefix=path 定義一個目錄,存放服務器上的文件 ,也就是nginx的安裝目錄,默認使用 /usr/local/nginx

這步你會看到local目錄下有一個跟你安裝的nginx1.12.2同級的nginx目錄,里面就有sbin目錄了。

基礎指令

listen:該指令用于配置網絡監聽。

listen *:80 | *:8080      #監聽所有80端口和8080端口listen  IP_address:port   #監聽指定的地址和端口號listen  IP_address        #監聽指定ip地址所有端口listen port               #監聽該端口的所有IP連接

登錄后復制

server_name:該指令用于虛擬主機的配置。

a. 基于名稱的虛擬主機配置

server_name   name ...;

登錄后復制

b. 基于 IP 地址的虛擬主機配置

server_name 192.168.1.1

登錄后復制

location:該指令用于匹配 URL。

location指令的作用是根據用戶請求的URI來執行不同的應用,也就是根據用戶請求的網站URL進行匹配,匹配成功即進行相關的操作。

牛逼啊!接私活必備的 N 個開源項目!趕快收藏吧

登錄后復制

location的語法

  • =開頭表示精確匹配

  • 如 A 中只匹配根目錄結尾的請求,后面不能帶任何字符串。

  • ^~ 開頭表示uri以某個常規字符串開頭,不是正則匹配

  • ~ 開頭表示區分大小寫的正則匹配;

  • ~* 開頭表示不區分大小寫的正則匹配

  • / 通用匹配, 如果沒有其它匹配,任何請求都會匹配到

    Location正則案例

    #精確匹配,/后面不能帶任何字符
    server {
            listen       80;
            server_name  www.itmayiedu.com;
            #精確匹配,注解后面不能帶任何字符
            location =/ {
                proxy_pass http://127.0.0.1:8080;
                index  index.html index.htm;
            }
    }
    
     #匹配所有以/開頭請求
    server {
            listen       80;
            server_name  www.itmayiedu.com;
           #匹配所有以/開頭請求 
            location / {
                proxy_pass http://127.0.0.1:8080;
                index  index.html index.htm;
            }
        }
    ###  以開頭/itmayiedu_8080攔截  默認開啟不區分大小寫
        server {
            listen       80;
            server_name  www.itmayiedu.com;
            ###  以開頭/itmayiedu_8080 最終跳轉到http://127.0.0.1:8080/;
            location /itmayiedu_8080/ {
                proxy_pass http://127.0.0.1:8080/;
                index  index.html index.htm;
            }
            ###  以開頭/itmayiedu_8080 最終跳轉到http://127.0.0.1:8081/;
            location /itmayiedu_8081/ {
                proxy_pass http://127.0.0.1:8081/;
                index  index.html index.htm;
            }
        }
    ### 開頭區分大小寫

    登錄后復制

    proxy_pass:該指令用于設置被代理服務器的地址。可以是主機名稱、IP地址加端口號的形式。

    語法結構如下:

    proxy_pass URL;

    登錄后復制

    index:該指令用于設置網站的默認首頁。

    域名重定向

    server
    {
        listen 80 ;
        server_name mxiaoqi.top aaa.com;
        if ( $host = mxiaoqi.top )
        #增加判斷條件,當訪問域名是mxiaoqi.top的時候
        {
            rewrite /(.*)  http://aaa.com/$1 permanent;
            #把mxiaoqi.top/后面的內容重新寫到aaa.com/后面如果后面有多段則使用$2、$3以此類推
            #permanent是轉發狀態碼
        }
        index index.html index.htm index.php;
        root /data/wwwroot/mxiaoqi.top;
        }

    登錄后復制

    反向代理

    使用 nginx 反向代理 www.123.com 直接跳轉到127.0.0.1:8080

    server {
             listen       80;
             server_name  www.123.com;
    
             location / {
                 proxy_pass http://127.0.0.1:8080;
                              # 歡迎頁面,按照從左到右的順序查找頁面
                 index  index.html index.htm index.jsp;
             }
         }

    登錄后復制

    監聽80端口,訪問域名為www.123.com,不加端口號時默認為80端口,故訪問該域名時會跳轉到127.0.0.1:8080路徑上。

    限流配置

    漏桶算法與令牌桶算法區別:主要區別在于“漏桶算法”能夠強行限制數據的傳輸速率,

    而“令牌桶算法”在能夠限制數據的平均傳輸速率外,還允許某種程度的突發傳輸。在“令牌桶算法”中,只要令牌桶中存在令牌,那么就允許突發地傳輸數據直到達到用戶配置的門限,因此它適合于具有突發特性的流量。

    Nginx按請求速率限速模塊使用的是漏桶算法,即能夠強行保證請求的實時處理速度不會超過設置的閾值。

    • limit_req_zone 用來限制單位時間內的請求數,即速率限制,采用的漏桶算法 "leaky bucket"。

    • limit_req_conn 用來限制同一時間連接數,即并發限制。

      limit_req_zone 參數配置

      Syntax:    limit_req zone=name [burst=number] [nodelay];
      Default:    —
      Context:    http, server, location

      登錄后復制

      limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

      • 第一個參數:$binary_remote_addr表示通過remote_addr這個標識來做限制,“binary_”的目的是縮寫內存占用量,是限制同一客戶端ip地址。

      • 第二個參數:zone=one:10m表示生成一個大小為10M,名字為one的內存區域,用來存儲訪問的頻次信息。

      • 第三個參數:rate=1r/s表示允許相同標識的客戶端的訪問頻次,這里限制的是每秒1次,還可以有比如30r/m的。

        limit_req zone=one burst=5 nodelay;

        • 第一個參數:zone=one 設置使用哪個配置區域來做限制,與上面limit_req_zone 里的name對應。

        • 第二個參數:burst=5,重點說明一下這個配置,burst爆發的意思,這個配置的意思是設置一個大小為5的緩沖區當有大量請求(爆發)過來時,超過了訪問頻次限制的請求可以先放到這個緩沖區內。

        • 第三個參數:nodelay,如果設置,超過訪問頻次而且緩沖區也滿了的時候就會直接返回503,如果沒有設置,則所有請求會等待排隊。

          ngx_http_limit_conn_module 參數配置

          這個模塊用來限制單個IP的請求數。并非所有的連接都被計數。只有在服務器處理了請求并且已經讀取了整個請求頭時,連接才被計數。

          Syntax:    limit_conn zone number;
          Default:    —
          Context:    http, server, location
          
          limit_conn_zone $binary_remote_addr zone=addr:10m;
          server {
              location /download/ {
                  limit_conn addr 1;
              }

          登錄后復制

          一次只允許每個IP地址一個連接。

          負載均衡

          #user  nobody;
          worker_processes  1;
          error_log  logs/error.log;# 開啟日志
          pid        logs/nginx.pid;
          ...
              upstream lyf {
              server 192.168.37.220:8001; # 3個tomcat服務
              server 192.168.37.220:8002;
              server 192.168.37.220:8003;
              }
              server {
                  listen       80;
                  server_name  192.168.37.220;# 監聽ip
                  location / {
                      proxy_pass   http://lyf;  # 設置代理
                      index  index.html index.htm;
                  }
          }

          登錄后復制

          keepalive 長連接提高吞吐量
          keepalived :設置長連接處理的數量
          proxy_http_version :設置長連接http版本為1.1
          proxy_set_header :清除connection header 信息

          upstream tomcats { 
          # server 192.168.1.173:8080 max_fails=2 fail_timeout=1s; 
          server 192.168.1.190:8080; 
          # server 192.168.1.174:8080 weight=1; 
          # server 192.168.1.175:8080 weight=1; 
          keepalive 32; 
          }
          server {
          listen 80; 
          server_name www.tomcats.com; 
          location / { 
          proxy_pass http://tomcats; 
          proxy_http_version 1.1; 
          proxy_set_header Connection ""; 
          } 
          }

          登錄后復制

          工作方式

          輪詢方式是Nginx負載默認的方式

          權重方式 指定每個服務的權重比例,weight和訪問比率成正比

          upstream  dalaoyang-server {
                 server    localhost:10001 weight=1;
                 server    localhost:10002 weight=2;
          }

          登錄后復制

          iphash

          每個請求都根據訪問ip的hash結果分配,經過這樣的處理,每個訪客固定訪問一個后端服務,如下配置(ip_hash可以和weight配合使用)。

          upstream  dalaoyang-server {
                 ip_hash; 
                 server    localhost:10001 weight=1;
                 server    localhost:10002 weight=2;
          }

          登錄后復制

          最少連接

          將請求分配到連接數最少的服務上。

          upstream  dalaoyang-server {
                 least_conn;
                 server    localhost:10001 weight=1;
                 server    localhost:10002 weight=2;
          }

          登錄后復制

          fair

          按后端服務器的響應時間來分配請求,響應時間短的優先分配。

          upstream  dalaoyang-server {
                 server    localhost:10001 weight=1;
                 server    localhost:10002 weight=2;
                 fair;  
          }

          登錄后復制

          Consul+upsync+Nginx 實現無需raload動態負載均衡 https://www.cnblogs.com/a1304908180/p/10697278.html

          傳統的負載均衡,如果Upstream參數發生變化,每次都需要重新加載nginx.conf文件,

          因此擴展性不是很高,所以我們可以采用動態負載均衡,實現Upstream可配置化、動態化,無需人工重新加載nginx.conf。

          LVS+Keepalived+Nginx+Tomcat搭建高可用雙機主從熱備集群

          https://blog.csdn.net/dsen726/article/details/89519013

          需要明確的是:

          • Nginx兩臺是主備關系,只有一臺在工作。后面的tomcat是集群,同時工作的。

          • keepalived是同時安裝在兩臺Nginx上的,不過文件配置不一樣

          • 這里的雙機熱備是指LVS,Nginx則是集群

            keepalived

            健康檢查和失敗切換是keepalived的兩大核心功能。所謂的健康檢查,就是采用tcp三次握手,icmp請求,http請求,udp echo請求等方式對負載均衡器后面的實際的服務器(通常是承載真實業務的服務器)進行保活;而失敗切換主要是應用于配置了主備模式的負載均衡器,利用VRRP維持主備負載均衡器的心跳,當主負載均衡器出現問題時,由備負載均衡器承載對應的業務,從而在最大限度上減少流量損失,并提供服務的穩定性。另外,搜索公眾號Linux就該這樣學后臺回復“猴子”,獲取一份驚喜禮包。

            LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統。lvs目前是集成在Linux內的。

為什么要LVS+Nginx?

一、ngix(應用層 網絡七層負載均衡)

1、異步轉發,請求數據和相應數據都要經過ngix,ngix和客戶端建立連接

2、輪詢所有的tomcat服務器,保證請求成功或者最后一臺tomcat服務器也請求失敗

二、lvs(網絡層 網絡四層負載均衡)

1、同步轉發接受請求數據,lvs轉發到服務器,服務器直接和客戶端建立連接

nginx要承受所有的流量,當一臺nigx承受不了,就需要搭建ngix集群。ngix+ngix 外層的ngix還是要承受所有流量。

lvs+ngix:lvs同步轉發不會接受相應數據,LVS采用DR模式時不用響應服務器返回的內容。(通常請求數據是比較小的,響應數據會比較大)

靜態資源配置

  location ~ .*\.(jpg|gif|png)$ {
        gzip on;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types text/plain application/javascript image/jpeg image/gif image/png;
        root   /usr/share/nginx/images;
    }

    location ~ .*\.(txt|xml)$ {
        gzip on;
        gzip_http_version 1.1;
        gzip_comp_level 1;
        gzip_types text/plain application/javascript image/jpeg image/gif image/png;
        root   /usr/share/nginx/code;
    }
  location ~ ^/download {
        gzip_static on;
        tcp_nopush on;
        root /opt/app/code;
    }

登錄后復制

sendfile on | off,文件讀取配置

默認sendfile是關閉的,可以配置在http,server,location,if in location中

tcp_nopush on | off,多個包整合

默認是關閉狀態,可以在http,server,location中配置,它的作用是在sendfile開啟的情況下,提高網絡包的傳輸效率。什么意思呢,假設服務端收到請求,需要推送10個包,為了提高傳輸效率,這10個包不會一個一個返回給客戶端,而是將10個包攢夠了后一起返回回去。

tcp_nodelay on | off,網絡包的實時性傳輸

默認開啟,可以在http,server,location中配置,它的作用是在keepalive鏈接下,提高網絡包的傳輸實時性。

gzip on | off,壓縮

默認是關閉狀態,可以在http,server,location,if in location中配置,作用是壓縮傳輸。一般來說瀏覽器是可以對壓縮后的內容進行解壓的。

gzip_comp_level level;壓縮級別

默認的壓縮級別是1,可以在http,server,location中配置,級別配置的越高,壓縮的越好,但是壓縮會耗費服務端的計算資源,所以要控制好壓縮級別

gzip_http_version 1.0 | 1.1,壓縮對http協議的支持

默認對HTTP/1.1協議的請求才會進行gzip壓縮,可以配置在http,server,location中配置。當用戶想要讀取一個1.html文件,首先會在目錄中找尋1.html.gz是否存在,所以這就導致了磁盤資源的浪費,必須要存儲兩份文件。

###靜態資源訪問
    server {
      listen       80;
      server_name  static.itmayiedu.com;
      location /static/imgs {
           root F:/;
           index  index.html index.htm;
       }
    }
   ###動態資源訪問
     server {
      listen       80;
      server_name  www.itmayiedu.com;

      location / {
         proxy_pass http://127.0.0.1:8080;
         index  index.html index.htm;
       }
    }

登錄后復制

跨域配置

跨域就是在原站點訪問域名不同的其他站點,同源策略會阻止一個域的javascript腳本和另外一個域的內容進行交互。所謂同源(即指在同一個域)就是兩個頁面具有相同的協議(protocol),主機(host)和端口號(port)。

CORS 是跨域資源分享(Cross-Origin Resource Sharing)的縮寫。它是 W3C 標準,屬于跨源 AJAX 請求的根本解決方法。

1、普通跨域請求:只需服務器端設置Access-Control-Allow-Origin

2、帶cookie跨域請求:前后端都需要進行設置

#允許跨域請求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允許帶上cookie請求 
add_header 'Access-Control-Allow-Credentials' 'true'; 
#允許請求的方法,比如 GET/POST/PUT/DELETE 
add_header 'Access-Control-Allow-Methods' *; 
#允許請求的header 
add_header 'Access-Control-Allow-Headers' *;

登錄后復制

防盜鏈

#對源站點驗證
valid_referers *.imooc.com; 
#非法引入會進入下方判斷 
if ($invalid_referer) { return 404; }

登錄后復制

source: https://www.yuque.com/molizhuzhu/thrgrk/rtslmc

以上就是一張小圖看盡 Nginx的詳細內容,更多請關注www.92cms.cn其它相關文章!

分享到:
標簽:nginx 小圖
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定