设为首页 收藏本站
查看: 1405|回复: 0

[经验分享] NGINX 负载均衡 之九

[复制链接]

尚未签到

发表于 2018-11-16 09:19:54 | 显示全部楼层 |阅读模式
1、Nginx 负载均衡的组件模块
  ngx_http_proxy_module:proxy代理模块,用于把请求后抛给服务器节点或upstream服务器池。
  ngx_http_upstream_module:负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查。

2、upstream模块语法
  

upstream server_pools {  #ip_hash;
  server 10.3.151.34:81 weight=1;
  server 10.3.151.246:81 weight=1;
  }
  

3、upstream模块标签说明
  upstream:是关键字必须要有。
  server_pools:为一个upstream集群组的名字,可以自己定义,调用时使用。
  server:关键字必须要有,后面可以接域名或IP,如果不指定端口,默认是80端口。
  weight:代表服务器权重,默认值是1,权重数字越大表示接受的请求比例越大。
  ip_hash:根据客户端IP的hash结果分配,解决动态网页的session共享问题,当负载调度算法为ip_hash时,后端服务器在负载均衡调度中不能使用weight和backup。

4、http proxy 模块相关参数
  proxy:设置http请求header 项传给后端服务器节点,例如:可实现让代理后端的服务器节点获取到访问客户端用户的真实IP地址。
  client_body_buffer_size:用于指定客户端请求主体缓冲区大小,此处如了解前文的http请求包的原理就好理解了。
  proxy_connection_timeout:表示反向代理与后端节点服务器连接的超时时间,即发起握手等候响应的超时时间。
  proxy_send_timeout:表示代理后端服务器的数据回传时间,即在规定时间之内后端服务器必须传完所有的数据,否则,nginx将断开这个连接。
  proxy_read_timeout:设置nginx从代理的后端服务器获取信息时间,表示连接建立成功后,nginx等待后端服务器的响应时间,其实是nginx已经进入后端的排队之中等候处理的时间。
  proxy_buffer_size:设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers设置的大小。

5、负载均衡实战

5.1、网络架构
  web1:10.3.151.34  (安装:nginx,端口监听:80,Server name:www.kang.com)
  web2:10.3.151.246 (安装:nginx,端口监听:80,Server name:www.kang.com)
  客户端:10.3.151.86

5.2、web1 nginx 配置文件如下:
  

worker_processes  1;  
events {
  worker_connections  1024;
  
}
  
error_log  logs/error.log;
  
http {
  include       mime.types;
  default_type  application/octet-stream;
  sendfile        on;
  keepalive_timeout  65;
  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';
  

  access_log  logs/access.log  main;
  

  upstream server_pools {                             #负载均衡服务器
  server 10.3.151.34:81 weight=1;
  server 10.3.151.246:81 weight=1;
  }
  

  
server {
  listen       80;
  server_name  www.kang.com;
  location / {
  proxy_pass http://server_pools;                 #proxy_pass 转发
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
  root   html;
  }
  }
  server {
  listen       81;
  server_name  www.kang.com;
  location / {
  root   html;
  index  index.html index.htm;       #index.html 内容为:10.3.151.34 WWW SERVER
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
  root   html;
  }
  }
  

  #include vhost/*.conf;
  
}
  

  

5.3、web2 nginx 配置文件如下:
  

worker_processes  1;  
events {
  worker_connections  1024;
  
}
  
http {
  include       mime.types;
  default_type  application/octet-stream;
  sendfile        on;
  keepalive_timeout  65;
  

  upstream server_pools {                            #负载均衡服务器
  server 10.3.151.34 weight=1;
  server 10.3.151.246:81 weight=1;
  }
  

  server {
  listen       80;
  server_name  www.kang.com;
  location / {
  proxy_pass http://server_pools;        #proxy_pass转发
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
  root   html;
  }
  }
  server {
  listen       81;
  server_name  www.kang.com;
  location / {
  root   html;
  index  index.html index.htm;              #index.html内容:10.3.151.246 WWW SERVER
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
  root   html;
  }
  }
  
}
  

5.4、通过客户端检查是否生效
  

[root@Auto-Operation ~]# for n in `seq 100`; do curl www.kang.com; sleep 1 ;done        #分别轮询访问两台服务器  
10.3.151.34 WWW SERVER
  
10.3.151.246  WWW SERVER
  
10.3.151.34 WWW SERVER



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635619-1-1.html 上篇帖子: NGINX 之 Keepalived高可用简单使用 之十 下篇帖子: NGINX 虚拟主机使用 之三
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表