准备三台虚拟机分别做:代理服务器、web1、web2
Nginx就是性能非常好的反向代理服务器,用来做负载均衡。负载均衡算法有以下4种:
1、热备:如果你有2台后端服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:1111111突然1挂啦,2222222222.....
upstream myweb {
server 192.168.111.7:80;
server 192.168.111.8:80 backup; #热备
}2、轮询:Nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:1212121212....
upstream myweb {
server 192.168.111.7:80;
server 192.168.111.8:80;
}3、加权轮询:根据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:122122122122...
upstream myweb {
server 192.168.111.7:80 weight=1;
server 192.168.111.8:80 weight=2;
}4、ip_hash:Nginx会让相同的客户端ip请求相同的服务器。
upstream myweb {
ip_hash;
server 192.168.111.7:80;
server 192.168.111.8:80;
}
代理服务器的主配置文件/etc/nginx/nginx.conf:我用的是轮询方式,还有upstream是在http之内在server之外。
web1的子配置文件/etc/nginx/conf.d/default.conf
# vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location / {
root /home/www/html;
index index.html index.hml;
}
}
# mkdir -p /home/www/html 创建页面目录
# vim /home/www/html/index.html 创建页面文件并调整页面
web1
web2的子配置文件/etc/nginx/conf.d/default.conf
# vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location / {
root /home/www/html;
index index.html index.hml;
}
}
# mkdir -p /home/www/html
# vim /home/www/html/index.html
web2
注:在现实配置中后端服务器的界面应当是一致的,上面是为了测试时能更直观的知道代理服务器找的是哪一个后端服务器。
测试之前查看防火墙是否关闭,nginx服务是否开启.