一, Nginx主要作用:
1. 反向代理
2. 负载均衡
3. Http服务器(包含动静分离)
4. 正向代理
反向代理应该是Nginx做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。
负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。
如下图:
二,搭建Nginx+Tomcat集群步骤
1. 下载安装
和tomcat一样,下载压缩包,解压即可。Nginx1.12.2目录如下:
2. 启动,停止等操作命令
通过DOS命令启动 start nginx 或者 直接点击nginx.exe启动
启动成功,如下:
访问,未修改配置文件前,默认是 localhost:80
即,nginx安装成功并正常启动访问。
停止nginx (nginx -s stop):
3. 修改配置文件
进入conf目录下,修改配置文件nginx.conf
修改前:
修改后:
保存修改文件。即,访问localhost:80即会路由到localhost:8085(本地tomcat) 或www.leilei.ink:8080(阿里云tomcat),两tomcat版本不同,可通过版本区分。
4. 再次启动nginx
5. 测试
先确定localhost:8085和www.leilei.ink:8080能够正常访问,如下:
本地tomcat 版本号为7.0.79
阿里云tomcat版本号7.0.82
通过nginx反向代理实现负载均衡,即,访问localhost:80 即可路由分发到localhost:8085或www.leilei.ink:8080,如下:
路由到本地tomcat服务器(7.0.79版本)
路由到阿里云tomcat服务器(7.0.82版本)
即,nginx成功的将请求分发到了本地的tomcat服务器及阿里云tomcat服务器上。
在项目中,为了应对高并发,通常采用搭建集群的方式来实现负载均衡,如:持久层提高数据库吞吐量的mysql集群,缓存层减少数据库操作提高热数据读取效率的redis集群,服务层的一个服务多个实例等。以上是Nginx+Tomcat集群实现web层的负载均衡的简单示例,和大家一起分享交流,有不妥之处,望多多指教!
参考网址: https://mp.weixin.qq.com/s/bkxW17WFHx0CaWd2GNY5fw