天天看點

Nginx負載均衡

代理我們往往并不陌生, 該服務我們常常用到如(代理租房、代理收貨等等)

Nginx負載均衡

那麼在網際網路請求裡面, 用戶端無法直接向服務端發起請求, 那麼就需要用到代理服務, 來實作用戶端和服務通信

Nginx負載均衡

<code>nginx</code>作為代理服務可以實作很多的協定代理, 我們主要以<code>http</code>代理為主

Nginx負載均衡

正向代理(内部上網) 用戶端&lt;--&gt;代理-&gt;服務端

Nginx負載均衡

反向代理 用戶端-&gt;代理&lt;--&gt;服務端

Nginx負載均衡
Nginx負載均衡

<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負載均衡

負載均衡按層劃分應用場景: 四層負載均衡

Nginx負載均衡

負載均衡按層劃分應用場景: 七層負載均衡, nginx最常用

Nginx負載均衡

<code>nginx</code>實作負載均衡需要用到<code>proxy_pass</code>代理子產品配置.

<code>nginx</code>負載均衡是将用戶端請求代理轉發至一組<code>upstream</code>虛拟服務池

Nginx負載均衡

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四層負載均衡

動靜分離,通過中間件将動态請求和靜态請求進行分離, 分離資源, 減少不必要的請求消耗, 減少請求延時。

好處: 動靜分離後, 即使動态服務不可用, 但靜态資源不會受到影響

通過中間件将動态請求和靜态請求分離

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後, 靜态内容依舊能正常通路, 動态内容将不會被請求到

根據不同的浏覽器, 以及不同的手機, 通路的效果都将不一樣。

根據通路不同目錄, 代理不同的伺服器

繼續閱讀