NGINX的反向代理和負(fù)載均衡是網(wǎng)站架構(gòu)中經(jīng)常用到的一種高并發(fā),高可用的方案,下面我們直接實(shí)戰(zhàn)操作,當(dāng)然理論也是要的。
一、反向代理
過程:反向代理:客戶端 一>代理 <一> 服務(wù)端舉個例子: A(客戶端)想租一個房子,B(代理)就把這個房子租給了他。這時候?qū)嶋H上C(服務(wù)端)才是房東。B(代理)是中介把這個房子租給了A(客戶端)。這個過程中A(客戶端)并不知道這個房子到底誰才是房東他都有可能認(rèn)為這個房子就是B(代理)的總結(jié):反向代理中客戶端是并不知道自己要訪問哪個服務(wù)器,反向代理模式屏蔽或者隱藏了真實(shí)服務(wù)器信息。
結(jié)構(gòu)圖

1、什么是正向代理
過程:客戶端 <一> 代理 一>服務(wù)端舉個例子:A(客戶端)想租C(服務(wù)端)的房子,但是A(客戶端)并不認(rèn)識C(服務(wù)端)租不到。 B(代理)認(rèn)識C(服務(wù)端)能租這個房子所以你找了B(代理)幫忙租到了這個房子。總結(jié):正向代理最大的特點(diǎn)是客戶端非常明確要訪問的服務(wù)器地址;服務(wù)器只清楚請求來自哪個代理服務(wù)器,而不清楚來自哪個具體的客戶端;正向代理模式屏蔽或者隱藏了真實(shí)客戶端信息。
2、 正向代理和反向代理的區(qū)別

3、反向代理各個參數(shù)說明

二、負(fù)載均衡
說明:客戶端發(fā)送的、nginx反向代理服務(wù)器接收到的請求數(shù)量,就是我們說的負(fù)載量,請求數(shù)量按照一定的規(guī)則進(jìn)行分發(fā)到不同的服務(wù)器處理的規(guī)則,就是一種均衡規(guī)則,所以將服務(wù)器接收到的請求按照規(guī)則分發(fā)的過程,稱為負(fù)載均衡。
示意圖

nginx支持的負(fù)載均衡調(diào)度算法方式: 關(guān)于Nginx負(fù)載均衡的6種策略
三、實(shí)戰(zhàn)操作
1、環(huán)境
- 代理服務(wù)器(接收所有請求)
- 192.168.8.146
- 服務(wù)器
- 1、192.168.8.228:8080
- 2、192.168.8.228:8081
- 3、192.168.8.228:808
1)代理服務(wù)器

2)服務(wù)器
- 1號服務(wù)器
- 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號服務(wù)器
- 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號服務(wù)器
- 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、效果



四、總結(jié)
這篇文章只是簡單的試了下效果,而且均衡的方式只試了權(quán)重,包括代理方面,有些參數(shù)沒有配置,歡迎大家補(bǔ)充嘗試。