Linux深入篇之二:配置Nginx负载均衡

Linux深入篇之二:配置Nginx负载均衡

Nginx为后端服务器应用集群配置负载均衡

负载均衡名称:可任意指定;必须跟vhosts.conf虚拟主机pass段一致,否则不能转发后端的请求。

weight配置权重:在fail_timeout内检查max_fails次数,失败则剔除均衡。

除了可以负载均衡后端服务器之外,还可以检查后端服务器状态!

格式:

      upstream  app_01 {

            server  127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;

            server  127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;

      }

虚拟主机配置:

      server{

侦听80端口

       listen   80;

定义使用www.jf.net访问:

       server_name  www.jf.net;

设定本虚拟主机的访问日志:

       access_log  logs/access.log  main;

定义服务器的默认网站根目录位置:

       root   /data/webapps/a;

定义首页索引文件的名称:

       index index.php index.html index.htm; 

默认请求:

       location ~ /{

       root   /data/www/wugk; 

定义首页索引文件的名称:   

       index index.php index.html index.htm;  

实验环境:

准备3台测试服务器:1台nginx服务器、2台lap服务器、2台MYSQL后端数据库服务器

1、配置nginx服务器:增加以下两行内容:

新增负载均衡模块:web01,内容为:2台后端LAP服务器192.168.174.15、192.168.174.16;

再将此模块用于域名:www.baishubing.com.cn(192.168.174.13)调用!

server 192.168.174.15:80 weight=1 max_fails=2 fail_timeout=30s;

server 192.168.174.16:80 weight=1 max_fails=2 fail_timeout=30s;

解释为:30秒内检查2次,如果超时或者访问错误,就会在服务器列表中剔除当前的服务器!

等到这个服务存活了,再把这个服务器添加进来,把请求转发到这个服务器上来!

可配置多个均衡!

proxy_pass http://web01;

默认用户的请求会过渡到这个均衡模块(web01)上来;

测试1:rr模式

wKiom1XezOnQmnNmAAEW0EPO7bk186.jpg

调用这个虚拟主机的配置文件:

wKiom1Xq-czCH5W7AAHmT7zFWjc592.jpg

测试结果:nginx服务使用rr模式,轮训地访问2个服务!

wKioL1XrCFqSPOPNAAHpYWc1X2A172.jpg

每个请求按时间顺序逐一分配到后端不同的服务器!

如果后端某台服务器down掉,自动剔除,待恢复自动添加上!

down其中的LAP01,只能访问到LAP02!

wKioL1XrAGKTuXqzAAD91ae-mkU615.jpg

启动LAP01,又恢复了轮训的模式!

wKiom1Xq_pzycOLxAAHcXM0UMWE846.jpg

 

测试2:ip-hash模式

每个请求根据访问的IP的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,一般用于登录会话。

wKioL1XrATLAk4e0AAE57YflYdE179.jpg

重启Nginx服务,打开测试网页,会话访问到LAP02!

wKioL1XrAGKTuXqzAAD91ae-mkU615.jpg

将LAP02,shut,会话访问到LAP01!

wKiom1XrAGWCSe2WAAEGKhUKRzQ328.jpg

再将LAP02,start,会话又回到了LAP02!

wKioL1XrAGKTuXqzAAD91ae-mkU615.jpg

测试结果:每个访客固定访问一个后端服务器,解决了session的问题,一般用于登录会话!

 

测试3:不同服务器端口,访问内容不受影响

如果新增加的这台服务器不是80而是81,同样的,访问时不需要带端口,只需要得到服务的web!

测试:宕机一台服务器:192.168.174.15

再次访问:只能访问到还存活的那台192.168.174.16!

wKiom1XezUGztmamAAFE8m1Rle4584.jpg

测试结果:当其中一台服务器宕机了,nginx会自动把宕机的那台服务器在服务器列表中自动剔除它!

当这台服务器激活之后,再次加入到活动服务器列表中!

再次测试:

wKioL1Xez1qBLtAgAAEySn-wOtk095.jpg

wKiom1XezUGztmamAAFE8m1Rle4584.jpg

测试结果:当宕机的服务器激活之后,nginx又会自动把激活了的那台服务器自动加入到活动的服务器列表中!

本文出自 “柏书兵-系统运维” 博客,转载请与作者联系!

你可能感兴趣的:(Linux深入篇之二:配置Nginx负载均衡)