环境准备:
总共四台机器,两台装有Nginx的机器做负载均衡,两台机器装有Apache作为WEB服务器。
配置nginx的配置文件,
这里的nginx的安装是用的yum安装CentOS用yum快速安装nginx
移除掉默认的nginx服务
cd /etc/nginx/conf.d/mv default.conf
编辑host解析
echo "192.168.1.19 " >>/etc/hosts
实验一:实现一个简单的负载均衡
增加一个配置文件
vim /etc/nginx/conf.d/upstream01.conf
upstream blog_real_servers {server 192.168.1.17 weight=5;server 192.168.1.18 weight=5;}server {listen 80;server_name ;location / {proxy_pass http://blog_real_servers; }}
重启nginx服务,并测试是否实现负载均衡
测试是成功的,按照1:1实现了转发。
实验2:根据URL中的目录地址实现代理转发(动静分离)
根据URL进行转发的情况,也称为7层的负载均衡配置,lvs是进行在第四层。
在WEB01中:
echo dynamic > /var/www/html/dynamic/index.html
在web02中:
echo static > /var/www/html/static/index.html
在LB01中:
vim /etc/nginx/conf.d/upstream01.conf
pstream dynamic_pools {server 192.168.1.17:80 weight=5;}upstream static_pools {server 192.168.1.18:80 weight=5;}server {listen 80;server_name ;location /static/ {proxy_pass http://static_pools;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 8 4k;proxy_busy_buffers_size 8k;proxy_temp_file_write_size 64k;}location /dynamic/ {proxy_pass http://dynamic_pools;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 8 4k;proxy_busy_buffers_size 8k;proxy_temp_file_write_size 64k;}}
测试访问:
由结果可以看出实现了URL的不同而访问不同的转发。