nginx的七层负载均衡

目录

1.负载均衡介绍

四层负载均衡

七层负载均衡

四层和七层的区别

2.nginx的配置文件

3.实验

测试


1.负载均衡介绍

四层负载均衡

所谓四层负载均衡是指OSI七层模型中的传输层, 那么传输层Nginx已经支持TCP/IP的控制, 所以只需要对客户端的请求进行TCP/IP协议的包转发就可以实现负载, 那么他的好处是性能非常快, 只需要底层进行应用处理,而不需要进行一些复杂的逻辑. 

七层负载均衡

七层负载均衡是在应用层,那么他可以完成后很多应用方面的协议请求,
当然四层有四层的好处,七层七层的好处,四层就不支持协议的转发,(http,https,DNS等)只支持IP,但是它的速度快.
应用层虽然没有四层负载快,但是支持很多功能,比如说他支持http信息的改写、头部信息的改写、(意识是,七层代理着用户往后请求的时候把我们用户请求的头部信息加上,长连接协议也可以修改等)、
安全应用规则控制、URL匹配规则控制、以及转发、rewrite等一些规则,
所以在应用层的服务里面,可以做的内容就更多了。Nginx是一个典型的七层负载均衡

四层和七层的区别

四层负载均衡数据在底层就进行了分发,而七层负载均衡数据包则是在最顶层进行分发,由此可以看出,七层负载均衡效率没有四层负载均衡高。
但是七层负载均衡更贴近于服务,如HTTP协议就是七层协议,我们可以用Nginx可以作会话保持,URL路径规则匹配,head头改写等等,这些都是四层负载均衡无法实现的。

注意:四层负载均衡不识别域名,七层负载均衡识别域名


2.nginx的配置文件

user  nginx nginx;       #制定nginx  运行的用户名和用户组  
worker_processes  2;     #nginx  进程数   建议设置成   CPU几核  这里设置成几
​
#error_log  logs/error.log; 全局错误日志类型  【debug| info|notice | warn| error|alert|crit 】级别从低到高 
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid; nginx 进程文件  
​
events {        #参考事件模型 
    use epoll;
    worker_connections  65535;  #单个进程最大连接数 最大连接数 = 连接数* 进程数 根据硬件调整 只要别让 cpu 100% 
}
​
http {
    upstream westos{
    server 172.25.70.2:80;
    server 172.25.70.3:80;
    server 172.25.70.1:8080 backup;
    }
    include       mime.types;  #文件的扩展名和映射表  
    default_type  application/octet-stream; #默认的文件类型 
}

server {
    listen 80;
    server_name www.westos.org;

    location / {
        proxy_pass http://westos;
     }
    }
}

3.实验

在nginx官网下载   在线安装预构建的nginx

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

nginx的七层负载均衡_第1张图片nginx的七层负载均衡_第2张图片daemon-reload: 重新加载某个服务的配置文件 nginx的七层负载均衡_第3张图片

auto为默认工作进程与cpu核心数有关(本机为双核cpu)nginx的七层负载均衡_第4张图片nginx的七层负载均衡_第5张图片nginx的七层负载均衡_第6张图片修改最大连接数 nginx的七层负载均衡_第7张图片nginx的七层负载均衡_第8张图片nginx的七层负载均衡_第9张图片

nginx的七层负载均衡_第10张图片

nginx的七层负载均衡_第11张图片

nginx的七层负载均衡_第12张图片

负载均衡nginx的七层负载均衡_第13张图片

nginx的七层负载均衡_第14张图片

测试

nginx的七层负载均衡_第15张图片

添加server1为备用http主机

nginx的七层负载均衡_第16张图片

在真机中添加地址解析/etc/hosts

172.25.13.1  www.westos.org

暂停server2、3的http     访问域名自动跳转到8080端口

你可能感兴趣的:(负载均衡,nginx,服务器)