反向代理
##
负载均衡
环境准备
准备四台虚拟机
#关闭防火墙和开机自启 [root@all ~]# systemctl stop firewalld.service [root@all ~]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. #关闭selinux [root@all /]# setenforce 0 #临时关闭 #修改配置文件永久关闭 [root@all /]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled #改成 disabled # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted #修改主机名 第一台修改成nginx1 第二台修改成nginx2 第三台修改成nginx3 第四台修改成nginx4 [root@all html]# hostnamectl set-hostname 主机名 #修改nginx原页面内容 路径 /etc/share/html/nginx/html/index.html 第一台修改成nginx1 第二 台修改成nginx2 第三台修改成nginx3 第四台修改成nginx4 [root@all html]# echo "nginx1"> etc/share/html/nginx/html/index.html
负载均衡概述
早期的网站流量和业务功能都比较简单,单台服务器足以满足基本的需求,但是随着互联网的发展,业
务流量越来越大并且业务逻辑也跟着越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因
此需要多台服务器进行性能的水平扩展及避免单点故障出现,那么如何将不同用户的请求流量分发到不
同的服务器上呢?
负载均衡的作用
解决服务器的高并发压力,提高应用程序的处理性能;
提供故障转移,实现高可用;
通过添加或减少服务器数量,增强网站的可扩展性;
在负载均衡器上进行过滤,可以提高系统的安全性。
nginx的upstream目前常用的几种方式
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,会被nginx自动剔除。
2、指定权重
weight 代表权重默认为 1,权重越高被分配的客户端越多。
3、IP绑定 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器。
4.fair
按照后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream定义一组服务器负载均衡配置
轮询配置
#修改配置文件 在serveer块上面添加如下内容 服务器IP地址改成你服务器的IP地址 在nginx1修改 就行了 upstream xiaole{ server 服务器2IP地址 server 服务器3IP地址 server 服务器4IP地址 } #server里删除root那行 添加如下内容 location / { proxy_pass http://xiaole; }
#修改完成后保存并退出文件 #重新加载配置文件 [root@nginx1 html]# nginx -s reload #访问nginx1IP输入到浏览器’ #如果页面成功出现不同内容就成功了
权重配置
添加权重参数
IP绑定 ip_hash配置