nginx 配置反向代理,負載均衡實戰解析
阿新 • • 發佈:2019-05-05
16px 中介 www. pre 地址 try_files 訪問 自己 服務
前言:NGINX的反向代理和負載均衡是網站架構中經常用到的一種高並發,高可用的方案,下面我們直接實戰操作,當然理論也是要的。
一、反向代理
過程:反向代理:客戶端 一>代理 <一> 服務端 舉個例子: A(客戶端)想租一個房子,B(代理)就把這個房子租給了他。 這時候實際上C(服務端)才是房東。 B(代理)是中介把這個房子租給了A(客戶端)。這個過程中A(客戶端)並不知道這個房子到底誰才是房東 他都有可能認為這個房子就是B(代理)的 總結:反向代理中客戶端是並不知道自己要訪問哪個服務器,反向代理模式屏蔽或者隱藏了真實服務器信息。
結構圖
1、什麽是正向代理
過程:客戶端 <一> 代理 一>服務端 舉個例子:A(客戶端)想租C(服務端)的房子,但是A(客戶端)並不認識C(服務端)租不到。 B(代理)認識C(服務端)能租這個房子所以你找了B(代理)幫忙租到了這個房子。 總結:正向代理最大的特點是客戶端非常明確要訪問的服務器地址;服務器只清楚請求來自哪個代理服務器,而不清楚來自哪個具體的客戶端;正向代理模式屏蔽或者隱藏了真實客戶端信息。
2、正向代理和反向代理的區別
3、反向代理各個參數說明
二、負載均衡
說明:客戶端發送的、nginx反向代理服務器接收到的請求數量,就是我們說的負載量,請求數量按照一定的規則進行分發到不同的服務器處理的規則,就是一種均衡規則,所以將服務器接收到的請求按照規則分發的過程,稱為負載均衡。
示意圖
nginx支持的負載均衡調度算法方式:關於Nginx負載均衡的6種策略
三、實戰操作
1、環境
代理服務器(接收所有請求)
192.168.8.146
服務器
1、192.168.8.228:8080
2、192.168.8.228:8081
3、192.168.8.228:8082
1)代理服務器
2)服務器
1號服務器
server {
listen 8080;
server_name www.common.com;
root /www/local;
charset utf-8;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
2號服務器
server {
listen 8081;
server_name www.common.com;
root /www/test-common/common/public;
charset utf-8;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
3號服務器
server {
listen 8082; server_name www.common.com; root /www/test; charset utf-8; index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
2、效果
四、總結
這篇文章只是簡單的試了下效果,而且均衡的方式只試了權重,包括代理方面,有些參數沒有配置,歡迎大家補充嘗試
nginx 配置反向代理,負載均衡實戰解析