Nginx + Tomcat负载均衡、动静分离群集

网友投稿 274 2022-09-29

Nginx + Tomcat负载均衡、动静分离群集

Nginx + Tomcat负载均衡、动静分离群集

Tomcat简介Nginx负载均衡原理Nginx动静分离原理部署Tomcat配置Nginx负载均衡配置Nginx动静分离

Tomcat简介■最初是由Sun的软件构架师詹姆斯邓肯戴维森开发安装Tomcat后,安装路径下面的目录和文件,是使用或者配置Tomcat的重要文件

Tomcat重要目录■bin :存放启动和关闭Tomcat脚本■conf :存放Tomcat坏同的配置文件■doc:存放Tomcat文档■lib:存放Tomcat运行需要的库文件■logs:存放Tomcat执行时的LOG文件■src:存放Tomcat的源代码■webapps: Tomcat的主要Web发布目录■work:存放jsp编译后产生的class文件

Nginx应用■Nginx是一款非常优秀的HTTP服务器软件●支持高达50 000个并发连接数的响应●拥有强大的静态资源处理能力●运行稳定;●内存、CPU等系统资源消耗非常低■目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力

Nginx负载均衡实现原理

代理正向代理反向代理正向代理:代理的是客户端反向代理:代理的是服务端

■Nginx实现负载均衡是通过反向代理实现■反向代理原理

■Nginx配置反向代理的主要参数●upstream 服务池名{ }配置后端服务器池,以提供响应数据●proxy_ pass 192.168.80.10:80Tomcat服务器1: 192. 168.80.100:80Tomcat服务器2: 192.168.80.101:8080 192.168. 80.101: 80811.部署Nginx 负载均衡器systemctl stop firewalldsetenforce 0

yum -y install pcre-devel zlib-devel openssl -devel gcc gcc-c++ make

useradd -M -s /sbin/nologin nginx

cd /opttar zxvf nginx-1.12.0.tar.gz -C /opt/

cd nginx-1.12.0/ ./configure \--prefix=/usr/local/nginx \--user=nginx \

-group=nginx \-with-file-aio \ #启用文件修改支持-with-stub status module \ #启用状态统计-with-gzip static module \ #启用gzip静 态压缩with-flv module \ #启用flv模块,提供对flv 视频的伪流支持--with-ssl module #启用SSL模块,提供SSL加密功能with-stream #启用stream模块,提供4层调度

./configure --prefix=/usr/1ocal/nginx --user=nginx --group=nginx --with- file-aio --with-stub status module--with-gzip static module --with-flv _module --with-stream

make && make install

ln -s /usr/1ocal/nginx/ sbin/nginx /usr/local/sbin/

vim /1ib/systemd/system/nginx. service

[Unit]Description=nginxAfter=network. target[Service]Type= forkingPIDFile=/usr/local/nginx/ logs/nginx. pidExecStart= /usr/local/nginx/ sbin/nginxExecrReload=/bin/kill -s HUP $MAINPIDExecrStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi -user.target

chmod 754 /1ib/ systemd/system/nginx . servicesystemctl start nginx.servicesystemctl enable nginx. service

2.部署2台Tomcat应用服务器systemctl stop firewalldsetenforce 0

tar zxvf jdk-8u91-linux-x64. tar.gz -C /usr/local/

vim /etc/profileexport JAVA HOME= =/usr/local/jdk1.8.0 91export JRE HOME=$ {JAVA HOME}/jreexport CLASSPATH=. :$ {JAVA HOME}/lib:${JRE HOME}/libexport PATH=$ {JAVA HOME} /bin:$ {JRE HOME} /bin: $PATH

source /etc/profile

tar zxvf apache- tomcat-8.5.16.tar.gz

mv /opt/ apache- tomcat-8.5.16/ /usr/1ocal/tomcat

/usr/1ocal/tomcat/bin/ shutdown. sh/usr/1ocal/tomcat/bin/startup.sh

netstat -ntap I grep 8080

3.动静分离配置(1) Tomcatl server 配置mkdir /usr/1ocal/tomcat/webapps/testvim /usr/local/ tomcat/webapps/test/ index. jsp<&@ page language= "java" import="java .util. *" pageEncoding= "UTF-8"&>

JSP testl page #指定为 test1 页面

<%out.println("动态页面 1, test1. com");%>

vim /usr/local/tomcat/ conf/server . xml#由于主机名name 配置都为localhost, 需要删除前而的HOST 配置

/usr/1ocal/tomcat/bin/ shutdown. sh/usr/local/ tomcat/bin/startup.sh

(2) Tomcat2 server 配置mkdir /usr/local/tomcat/ tomcat1/webapps/test /usr/local/ tomcat/tomcat2/webapps/test

vim /usr/local/tomcat/ tomcat1/webapps/test/index. jsp

<%@ page language= "java" import="java .util. *”pageEncoding= "UTF-8"%>

JSP test2 page #指定为test2 页面

<%out. println("动态页面2, test2.com") ;%>< /body>

vim /usr/ local/tomcat/ tomcat1/conf/server . xml#删除前而的HOST配置

Nginx负载均衡模式: .●rr负载均衡模式:每个请求按时间顺序逐一分 配到不同的后端服务器,如果超过了最大失败次数后(max fails,默认1),在失效时间内(fail timeout,默认10秒),该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效继续探测,一般来说rr可以根据权重来进行均匀分配。●least conn最少连接:优先将客户端请求调度到当前连接最少的服务器。●ip hash负载均衡模式:每个请求按访问ip的hash结果分配,这样每个访客固定访问-一个后端服务器,可以解决session的问题,但是iphash会造成负载不均,有的服务请求接受多,有的服务请求接受少,所以不建议采用ip hash模式,session 共享问题可用后端服务的session 共享代替nginx的ip hash.●fair (第三方)负载均衡模式:按后端服务器的响应时间来分配请求,响应时间短的优先分配。●url hash (第三方)负载均衡模式:基于用户请求的uri做hash。和ip_ hash算法类似,是对每个请求按url的hash结果分配,使每个URL定向到同一个 后端服务器,但是也会造成分配不均的问题,这种模式后端服务器为缓存时比较好。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Tomcat多实例部署
下一篇:Spring Boot项目如何优雅实现Excel导入与导出功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~