代理我們往往并不陌生, 該服務我們常常用到如(代理租房、代理收貨等等)
那麼在網際網路請求裡面, 用戶端無法直接向服務端發起請求, 那麼就需要用到代理服務, 來實作用戶端和服務通信
<code>nginx</code>作為代理服務可以實作很多的協定代理, 我們主要以<code>http</code>代理為主
正向代理(内部上網) 用戶端<-->代理->服務端
反向代理 用戶端->代理<-->服務端
<code>正向與反向代理的差別</code>
1.<code>nginx</code>代理配置文法
2.<code>url</code>跳轉修改傳回<code>location</code>[不常用]參考<code>url</code>
3.添加發往後端伺服器的請求頭資訊
4.代理到後端的tcp連接配接、響應、傳回等逾時時間
5.proxy_buffer代理緩沖區
6.proxy代理網站常用優化配置如下,将配置寫入新檔案,調用時使用include引用即可
代理的location如何進行調用
2.後端真是提供web服務配置
<code>web</code>伺服器,直接面向使用者,往往要承載<code>大量并發請求</code>,單台伺服器<code>難以負荷</code>,我使用多台<code>web</code>伺服器組成<code>叢集</code>,前端使用<code>nginx``負載均衡</code>,将請求<code>分散</code>的打到我們的後端伺服器叢集中,實作<code>負載的分發</code>。那麼會大大提升系統的<code>吞吐率、請求性能、高容災</code>
負載均衡按層劃分應用場景: 四層負載均衡
負載均衡按層劃分應用場景: 七層負載均衡, nginx最常用
<code>nginx</code>實作負載均衡需要用到<code>proxy_pass</code>代理子產品配置.
<code>nginx</code>負載均衡是将用戶端請求代理轉發至一組<code>upstream</code>虛拟服務池
nginx upstream虛拟配置文法
1.web服務上建立對應html檔案
2.建立對應的releserver.conf配置檔案
3.配置nginx負載均衡
後端<code>web</code>伺服器在前端<code>nginx</code>負載均衡排程中的狀态
1.測試<code>down</code>狀态, 測試該<code>server</code>不參與負載均衡的排程
2.測試backup以及down狀态
1.<code>nginx</code>負載均衡<code>[wrr]</code>輪詢具體配置
2.nginx負載均衡[weight]權重輪詢具體配置
3.nginx負載均衡ip_hash具體配置, 不能和weight一起使用。
配置nginx4層負載均衡實作如下需求
nginx四層負載均衡示例
實踐nginx四層負載均衡
動靜分離,通過中間件将動态請求和靜态請求進行分離, 分離資源, 減少不必要的請求消耗, 減少請求延時。
好處: 動靜分離後, 即使動态服務不可用, 但靜态資源不會受到影響
通過中間件将動态請求和靜态請求分離
0.環境準備
1.在10.0.0.7伺服器上配置靜态資源
2.在10.0.0.8伺服器上配置動态資源
3.在負載均衡10.0.0.5上配置排程, 實作通路jsp和png
4.通過負載測試通路靜态資源
5.通過負載測試通路動态資源
6.在負載均衡10.0.0.5上整合動态和靜态資源的html檔案
7.測試動态和靜态資源是否能正常加載在一個html檔案中
8.當使用systemctl stop nginx停止nginx後, 會發現靜态内容無法通路, 動态内容依舊運作正常
9.當使用systemctl stop tomcat停止tomcat後, 靜态内容依舊能正常通路, 動态内容将不會被請求到
根據不同的浏覽器, 以及不同的手機, 通路的效果都将不一樣。
根據通路不同目錄, 代理不同的伺服器