加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Nginx 配置反向代理,负载均衡实战解析流程

发布时间:2019-07-11 04:09:01 所属栏目:外闻 来源:今日头条
导读:副标题#e# NGINX的反向代理和负载均衡是网站架构中经常用到的一种高并发,高可用的方案,下面我们直接实战操作,当然理论也是要的。 一、反向代理 过程:反向代理:客户端 一代理 一 服务端举个例子: A(客户端)想租一个房子,B(代理)就把这个房子租给了他。
副标题[/!--empirenews.page--]

NGINX的反向代理和负载均衡是网站架构中经常用到的一种高并发,高可用的方案,下面我们直接实战操作,当然理论也是要的。

Nginx 配置反向代理,负载均衡实战解析流程

一、反向代理

过程:反向代理:客户端 一>代理 <一> 服务端举个例子: A(客户端)想租一个房子,B(代理)就把这个房子租给了他。这时候实际上C(服务端)才是房东。B(代理)是中介把这个房子租给了A(客户端)。这个过程中A(客户端)并不知道这个房子到底谁才是房东他都有可能认为这个房子就是B(代理)的总结:反向代理中客户端是并不知道自己要访问哪个服务器,反向代理模式屏蔽或者隐藏了真实服务器信息。

结构图

经典总结:nginx 配置反向代理,负载均衡实战解析流程

1、什么是正向代理

过程:客户端 <一> 代理 一>服务端举个例子:A(客户端)想租C(服务端)的房子,但是A(客户端)并不认识C(服务端)租不到。 B(代理)认识C(服务端)能租这个房子所以你找了B(代理)帮忙租到了这个房子。总结:正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息。

2、 正向代理和反向代理的区别

经典总结:nginx 配置反向代理,负载均衡实战解析流程

3、反向代理各个参数说明

经典总结:nginx 配置反向代理,负载均衡实战解析流程

二、负载均衡

说明:客户端发送的、nginx反向代理服务器接收到的请求数量,就是我们说的负载量,请求数量按照一定的规则进行分发到不同的服务器处理的规则,就是一种均衡规则,所以将服务器接收到的请求按照规则分发的过程,称为负载均衡。

示意图

经典总结:nginx 配置反向代理,负载均衡实战解析流程

nginx支持的负载均衡调度算法方式: 关于Nginx负载均衡的6种策略

三、实战操作

1、环境

  1. 代理服务器(接收所有请求) 
  2.  192.168.8.146 
  3. 服务器 
  4.  1、192.168.8.228:8080 
  5.  2、192.168.8.228:8081 
  6.  3、192.168.8.228:808 

1)代理服务器

经典总结:nginx 配置反向代理,负载均衡实战解析流程

2)服务器

  1. 1号服务器 
  2. server { 
  3.  listen 8080; 
  4.  server_name www.common.com; 
  5.   
  6.  root /www/local; 
  7.   
  8.  charset utf-8; 
  9.  index index.php index.html index.htm; 
  10.  try_files $uri $uri/ /index.php?$query_string; 
  11.   
  12.  location ~ .php$ { 
  13.  fastcgi_pass 127.0.0.1:9000; 
  14.  fastcgi_index index.php; 
  15.  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  16.  include fastcgi_params; 
  17.  } 
  18.  } 
  19. 2号服务器 
  20. server { 
  21.  listen 8081; 
  22.  server_name www.common.com; 
  23.   
  24.  root /www/test-common/common/public; 
  25.   
  26.  charset utf-8; 
  27.  index index.php index.html index.htm; 
  28.  try_files $uri $uri/ /index.php?$query_string; 
  29.   
  30.  location ~ .php$ { 
  31.  fastcgi_pass 127.0.0.1:9000; 
  32.  fastcgi_index index.php; 
  33.  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  34.  include fastcgi_params; 
  35.  } 
  36.  } 
  37. 3号服务器 
  38. server { 
  39.  listen 8082; 
  40.  server_name www.common.com; 
  41.   
  42.  root /www/test; 
  43.   
  44.  charset utf-8; 
  45.  index index.php index.html index.htm; 
  46.  try_files $uri $uri/ /index.php?$query_string; 
  47.   
  48.  location ~ .php$ { 
  49.  fastcgi_pass 127.0.0.1:9000; 
  50.  fastcgi_index index.php; 
  51.  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  52.  include fastcgi_params; 
  53.  } 
  54.  } 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读