nginx 的意義及作用(宏觀理解)


nginx 是輕量級的Web服務器。由於配置簡單,容量小被應用於各個項目。
在java企業級開發中,常常作為前端 靜態資源的代理的服務器,如果配置的好可支持5W並發量。
作用:
  1. 反向代理
  2. 正向代理
  3. 負載均衡
  4. HTTP服務器(包含動靜分離)
區別及意義:
    正向代理,代理介於 client 與 service 之間, client 通過proxy 去訪問service 返回資源   (代理客戶端)  
    想象你掛VPN的代理並設置一些東西就可以通過某台機器翻牆了。
 
    反響代理:proxyService代理service,client 不知道service 的存在,將訪問service 全全交給了proxyService (代理原始服務器)
    理解:nginx代理服務器這樣你就不用去編寫任何配置,交給nginx 去配置就好了,nginx收到你的請求會自動根據配置轉發到對應的服務器去。
 
何為均衡負載:(多用於服務器集群)其實和ZUUL比較像
均衡負載表示通過代理服務器統一去管理其他服務器,然后client 訪問代理服務器(proxyService),proxyService去均衡的分發請給個其他服務器,保證每個服務器得到均衡的並發。
nginx 通過反向代理實現均衡負載。
實現均衡負載的處理方式:
  • round-robin:輪詢。以輪詢方式將請求分配到不同服務器上
  • least-connected:最少連接數。將下一個請求分配到連接數最少的那台服務器上
  • ip-hash :基於客戶端的IP地址。散列函數被用於確定下一個請求分配到哪台服務器上
 流程理解:
例:假設訪問springBoot 啟動的1個服務 Ip:192.168.255.255:10010     使用niginx代理后項目的請求流程理解:
   1、瀏覽器發起請求 如:www.wuyou.com 瀏覽器就會進行域名解析,轉換成IP+端口號進行訪問,所以瀏覽器將找到hosts 文件中的對應關系,如果找不到就到中央服務器那找(肯定能找到照只要你的網站做了備案並通過),所以你只需要增加一個該文件的配置即可:192.168.255.255  www.wuyou.com 
   2、這樣當你訪問 www.wuyou.com 該域名自動會被解析成192.168.255.255 該IP
   3、在HTTP協議中,默認端口號是80 端口,所以你訪問域名時IP:port 是192.168.255.255:80 這與我們實際想訪問的服務器端口不匹配,這時候就需要用到nginx 了
   4、在nginx 中修改conf 配置文件,監聽80端口並配置類似路由的配置即可實現請求的轉發。見以下配置:
server {
        listen       80; #監聽的端口號
        server_name  www.wuyou.com; #域名
 
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        location / {
            proxy_pass http://192.168.255.255:10010; #轉發的地址
            proxy_connect_timeout 600; #超時
            proxy_read_timeout 600;
        }
    }

以上就是整個執行流程。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM