企业级 ##nginx反向代理服务器的安装,给nginx添加Sticky扩展模块##

这里写图片描述

一.nginx概念:

Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品。 **

二.nginx常用功能:

1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

这里写图片描述

Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

2、负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

这里写图片描述

Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
这里写图片描述

3、web缓存

Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

扫描二维码关注公众号,回复: 2846182 查看本文章

三.Nginx的安装:

1.下载安装包,编辑Nginx内部源文件:
nginx-1.14.0.tar.gz
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
2.在【server1】里安装*gcc,pcre-devel,openssl-devel服务:*
这里写图片描述
这里写图片描述
这里写图片描述
3.进行源码编译:
这里写图片描述
这里写图片描述
这里写图片描述
4.查看编译后文件大小,添加软连接:
这里写图片描述
这里写图片描述
5.检查语法的正确性,启动Nginx:
这里写图片描述
这里写图片描述
6.编辑共享文件:
这里写图片描述
这里写图片描述
7.在真机里进行访问测试:
这里写图片描述
这里写图片描述

四.Nginx的轮询:

1.查看CPU个数与处理文件最大限度:
这里写图片描述
这里写图片描述
2.CPU个数为1,最大并发数47356:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
3.系统Nginx处理文件限定到65536:
这里写图片描述
这里写图片描述
4.建议Nginx用户组:
这里写图片描述
5.添加待访问服务器,添加监听端口:
这里写图片描述
这里写图片描述

这里写图片描述
6.查看语法,重启服务:

[root@server1 conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server1 conf]# nginx -s reload

7.查看真机的解析:
这里写图片描述
这里写图片描述
8.打开后端服务器【server2】【server3】httpd服务:
这里写图片描述
这里写图片描述

【测试】:

1.真机上测试:
这里写图片描述
2.网页上进行测试:
这里写图片描述
这里写图片描述
3.增加权重进行测试:

[root@server1 conf]# vim nginx.conf

这里写图片描述
这里写图片描述
这里写图片描述

五.给nginx添加Sticky扩展模块:

Sticky工作原理 :
Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route
1.客户端首次发起访问请求,nginx接收后,发现请求头没有cookie,则以轮询方式将请求分发给后端服务器。
2.后端服务器处理完请求,将响应数据返回给nginx。
3.此时nginx生成带route的cookie,返回给客户端。route的值与后端服务器对应,可能是明文,也可能是md5、sha1等Hash4.客户端接收请求,并保存带route的cookie。
5.当客户端下一次发送请求时,会带上route,nginx根据接收到的cookie中的route值,转发给对应的后端服务器。

1.解压安装包:
这里写图片描述
这里写图片描述
2.进行编译:
这里写图片描述
这里写图片描述
这里写图片描述
3.发送.conf文件发送到默认目录中:
这里写图片描述
这里写图片描述
4.编辑配置文件,添加sticky模块:
这里写图片描述
这里写图片描述
5.开启服务:

[root@server1 conf]# /opt/nginx/sbin/nginx  -t   #检测语句
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
[root@server1 conf]# /opt/nginx/sbin/nginx   #开启nginx

【测试】:

这里写图片描述
这里写图片描述
这里写图片描述

每一个IP绑定一个浏览器,每台后端真实服务器都会有一个唯一的route值,所以不管你真实服务器前端有几个装了sticky的nginx代理,它都是不会变化的. 这个cookie是会话方式的,所以你浏览器关闭了,服务器会给你重新分配一台服务器。

猜你喜欢

转载自blog.csdn.net/China_zgd/article/details/81382647
今日推荐