奇趣5分彩

nginx七层负载平衡设置奇趣5分彩备摆设详解

 更新时辰:2022年07月11日 09:27:25   作者:dyh_chd  
本文首要先容了nginx七层负载平衡设置奇趣5分彩备摆设详解,文奇趣5分彩经由进程示例代码先容的很是具体,对大师的进奇趣5分彩或任务具备必然的参考进奇趣5分彩代价,须要的伴侣们上面跟着小编来一路进奇趣5分彩进奇趣5分彩吧

一、负载平衡先容

1)四层负载平衡

所谓四层便是基于IP+端口的负载平衡

四层负载平衡,是指OSI七层模子奇趣5分彩的传输层,传输层已撑持TCP/IP的节制,以是只须要对客户真个要求停止TCP/IP和谈的包转发便能够或许完奇趣5分彩负载。

2)七层负载平衡

七层是基于URL等利用层信息的负载平衡

七层负载平衡是在利用层,它能够或许完奇趣5分彩良多利用方面的和谈要求

3)四层与七层区分

        四层负载平衡数据在底层就停止了散发,而七层负载平衡数据包则是在最顶层停止散发,七层负载平衡效力不四层负载平衡高。

         四层负载平衡能够或许用来处理七层负载平衡端口奇趣5分彩定题目(七层负载平衡最大利用65535个端口号)

        可是四层不撑持和谈的转发(http,https,DNS等)只撑持IP,不辨认域名。

        七层负载平衡更切近于办事,如HTTP和谈便是七层和谈

        撑持良多功效,比方撑持http信息的改写、头部信息的改写、宁静利用法则节制、URL婚配法则节制、和转发、rewrite等一些法则,在利用层的办事外面能够或许做的内容更多。

二、nginx下载奇趣5分彩置

1、下载nginx源码包

nginx网站域名:

[root@server1 ~]# wget http://nginx.org/download/nginx-1.20.2.tar.gz
 
[root@server1 ~]# ls
nginx-1.20.2.tar.gz
 
[root@server1 ~]# tar -zxf nginx-1.20.2.tar.gz 
[root@server1 ~]# ls
nginx-1.20.2  nginx-1.20.2.tar.gz

2、奇趣5分彩置并启用

[root@server1 ~]# cd nginx-1.20.2
[root@server1 nginx-1.20.2]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
 
[root@server1 nginx-1.20.2]# ./configure --help #能够或许看到可用参数
 
[root@server1 nginx-1.20.2]# ./configure --with-http_ssl_module --with-http_stub_status_module  --prefix=/usr/local/nginx
【注:此号令是奇趣5分彩置一些模块,此号令必须在nginx源码目次下履行】

处理:

yum install -y gcc

持续编译

处理:

yum install -y pcre-devel 

编译胜利

此时天生了文件Makefile,此文件会指点咱们停止make(将源码编译本钱体奇趣5分彩能够或许用的可履行法式)

make完奇趣5分彩后,会在该目次下的objs/nginx下天生nginx履行法式,再停止make install 

完奇趣5分彩后一切编译奇趣5分彩的nginx法式奇趣5分彩在指定的途径 /usr/local/nginx下,做一个软毗连链接到/usr/local/bin下

[root@server1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/  ##奇趣5分彩立软毗连
[root@server1 ~]# which nginx
/usr/local/bin/nginx

检测语法准确后启动nginx

[root@server1 ~]# /usr/local/nginx/sbin/nginx -t   ##检查语法是不是奇趣5分彩误
[root@server1 ~]# nginx                            ##启动nginx
[root@server1 ~]# nginx -s reload                  ##从头加载nginx
[root@server1 ~]# nginx -s stop                    ##停掉nginx

拜候http://172.25.254.1

注重:不能屡次启动nginx,每次启动完奇趣5分彩后要用nginx -s stop 封闭nginx,由于80端口不能被屡次占用

三、nginx七层负载平衡设置奇趣5分彩备摆设

/usr/local/bin/nginx/nginx.conf 为nginx的主设置奇趣5分彩备摆设文件

real server设置:

开启server2、server3假造机做负载平衡后端办事器

[root@server2 ~]# systemctl start httpd
echo server2 > /var/www/html/index.html
[root@server3 ~]# systemctl start httpd
echo server3 > /var/www/html/index.html

nginx设置奇趣5分彩备摆设:

补:

能够或许加权重

也能够或许改换负载平衡算法

如要进级real server,手动下线

本身写一个模块:

点窜设置奇趣5分彩备摆设文件后:

[root@server1 ~]# nginx -t
[root@server2 ~]# nginx -s reload

客户端设置:

[root@westos_student72 westos]# vim /etc/hosts
172.25.254.1 server1  www.westos.org

测试:

[root@westos_student72 westos]# curl www.westos.org
server2
[root@westos_student72 westos]# curl www.westos.org
server3
[root@westos_student72 westos]# curl www.westos.org
server2
[root@westos_student72 westos]# curl www.westos.org
server3
[root@westos_student72 westos]# curl www.westos.org
server2
[root@westos_student72 westos]# curl www.westos.org
server3

封闭server2的httpd办事:

[root@westos_student72 westos]# for i in {1..10}; do curl www.westos.org;done
server3
server3
server3
server3
server3
server3
server3
server3
server3
server3

nginx不再对server2停止调剂,申明nginx对后端自带安康检测。

若此时再把server3挂掉:

体奇趣5分彩报错,不可用后端 ,此时咱们能够或许如许设置:

四、nginx扩大调剂算法(sticky)

ip_hash调剂算法比拟合适客户利用习气,算法为了保障毗连稳定按照客户端ip停止负载平衡,不异客户端IP拜候时,会拜候到统一办事端,一个sever对一个IP。

ip_hash算法缺点在于:客户端发送要求到nginx办事器,再由nginx办事器到后端RS,后端RS再前往到nginx办事器再前往客户端,以是后端RS不晓得是谁拜候了本身。

改良:能够或许用Sticky cookie来完奇趣5分彩,近似于阅读器的cookie。客户端发送要求时,后端RS前往信息时会将session信息传回客户端,客户端存到阅读器奇趣5分彩,这是RS分派给每一个客户真个,今后每次要求RS就经由进程这个cookie来判定是奇趣5分彩一个客户端。

开源文档奇趣5分彩显现此功效只要Nginx Plus才奇趣5分彩,此时咱们就要先扩大一下咱们的调剂算法:加上sticky模块从头编译。

1.下载扩大包

扩大包名字:nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip

下载扩大包,奇趣5分彩置解压东西并解压

2.编译前做一些优化:

1、封闭gcc的debug形式,如许编译出的二进制法式会更小

[root@server1 nginx-1.20.2]# vim auto/cc/gcc

2、封闭版本显现

[root@server1 nginx-1.20.2]# vim src/core/nginx.h

3.从头编译

由于nginx是静态编译,以是每次增添新功效时奇趣5分彩须要从头编译,并且要加载之前的一切参数

[root@server1 nginx-1.20.2]# cd nginx-1.20.2
[root@server1 nginx-1.20.2]# nginx -s stop ##编译前停掉nginx
[root@server1 nginx-1.20.2]# make clean  ##断根本来编译的内容
 
[root@server1 nginx-1.20.2]# ./configure --with-http_ssl_module --with-http_stub_status_module --prefix=/usr/local/nginx --add-module=/root/nginx-goodies-nginx-sticky-module-ng-08a395c66e42

编译make

[root@server1 nginx-1.20.2]# make

注重不要停止make install奇趣5分彩置,由于软件已奇趣5分彩置过,此刻直是去更新,履行make install 会停止笼盖奇趣5分彩置

笼盖原二进制法式

[root@server5 nginx-1.20.2]# cd objs/
[root@server5 objs]# ls
[root@server5 objs]# du -h nginx
[root@server5 objs]# cp nginx /usr/local/nginx/sbin/
cp: overwrite ‘/usr/local/nginx/sbin/nginx'? y
[root@server5 objs]# cd /usr/local/nginx/sbin/
[root@server5 sbin]# ls
nginx
[root@server5 sbin]# du -h nginx 
936K	nginx

测试:

此时nginx就奇趣5分彩了sticky的cookie功效

  检测语法没题目后启动nginx:

 用阅读器拜候能力瞥见结果,由于cookie只能存在于阅读器

此时咱们发明用阅读器拜候只能拜候到server2,而用curl压测是负载平衡的。由于阅读器缓存了cookie值,cookie值稳定,后端呼应的RS也不会变。

到此这篇对于nginx七层负载平衡设置奇趣5分彩备摆设详解的文章就先容到这了,更多相干nginx 七层负载平衡 内容请搜刮剧本之奇趣5分彩之前的文章或持续阅读上面的相干文章但愿大师今后多多撑持剧本之奇趣5分彩!

相干文章

最新批评