「筆記」Nginx總結

2018年10月2日補充:
在這裏插入圖片描述

代理服務器

  • 含義:「客戶端」在發送請求時,先發送給「代理服務器」,「代理服務器」接受請求後轉發給「服務端」,「服務端」處理請求後返回數據給「代理服務器」,「代理服務器」存儲數據並轉發給「客戶端」
  • 目的:
    1. 提高訪問速度:「客戶端」訪問相同的站點數據時,直接從「代理服務器」中讀取,起到緩存的作用
    2. 防火牆:可爲「服務端」過濾某些不安全的請求信息
    3. 翻牆看片 可訪問受限網點:「客戶端」訪問受限時,可通過不受限的「代理服務器」訪問目標站點

正向、反向代理

正向代理:架設在「客戶端」與「服務端」之間,用於代理內部網絡對 Internet 的連接請求

image-20180924181643483

反向代理:架設在「服務端」,緩存熱點請求的頁面同時將請求轉發給內部對應的服務器

image-20180924181957609

反向代理的應用:

  • 防禦外網對內網服務器的惡性攻擊(訪問安全控制)
  • 緩存熱點數據
  • 負載均衡
    • 轉發
    • 故障移除
    • 恢復添加

Nginx實現負載均衡

  1. 分發策略

    • 輪詢:你一個,我一個,他一個
    • 最少連接數:誰不忙,就給誰
    • 權重:你一個,我兩個,他三個,權重與訪問成正比,應用於服務器性能不均的場景
    • IP_HASH:依據訪問 IP 的固定 HASH 值進行分配, 解決Session共享問題
  2. 配置

    upstream ydc-coding {
    	# 配置權重
        server 116.196.66.192:8081 weight=3;
        server 116.196.66.192:8082 weight=2; 
    	# 不參與負載
        server 116.196.66.192:8083 down; 
    	# 備胎
        server 116.196.66.192:8084 backup; 
        } 
     
     server {
            listen       80;
            server_name  ydc-coding.com;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            location / {
                proxy_pass   http://ydc-coding;
                index  index.html index.htm;
            }
         } 
    
    
  3. Keepalived + Nginx 實現高可用

    Nginx作爲負載均衡器,所有請求都到了Nginx,可見Nginx處於非常重點的位置,如果Nginx服務器宕機後端web服務將無法提供服務,影響嚴重。

    爲了避免負載均衡服務器的宕機故障,需要建立一個備份機。主備機上都運行高可用(High Availability)監控程序,通過傳送心跳信息來監控對方的運行狀況。當備份機不能在一定的時間內收到對方的正常心跳時,它就接管主服務器的服務IP並繼續提供負載均衡服務;當備份管理器又從主管理器收到“I am alive”這樣的信息時,它就釋放服務IP地址,這樣的主服務器就開始再次提供負載均衡服務。

    配置安裝:Keepalived之——Keepalived + Nginx 實現高可用 Web 負載均衡

RD常用操作

在實際開發中,很少能自己去配置這些東西,關於Nginx這塊,更多的是去申請配置 新增location新增域名機器調整等操作。

新增域名:

upstream ydc-coding {
 	server 116.196.66.192:8081;
	server 116.196.66.192:8082;
}
location / {
   proxy_pass http://ydc-coding;
}

新增location

location /Bug {
    proxy_pass http://ydc-coding;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Scheme $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

機器調整:

upstream ydc-coding {
 	server 116.196.66.192:8083;
	server 116.196.66.192:8084;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章