linux怎么查看本机内存大小
227
2022-11-04
Nginx+Tomcat的负载均衡与动静分离集群
Nginx+Tomcat的负载均衡与动静分离集群
一、Nginx 负载均衡实现原理
1、Nginx 实现负载均衡是通过反向代理实现
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。反向代理代理服务器。
2、Nginx 配置反向代理的主要参数
1.upstream 服务池名 {}作用:配置后端服务器池,以提供响应数据
3.proxy_pass 服务池名
作用:配置将访问请求转发给后端服务器池的服务器处理
二、Nginx 动静分离实现原理
1、动静分离原理
服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由 Nginx 提供服务,动态资源由 Nginx 转发至后端
2、Nginx 静态处理优势
Nginx 处理静态页面的效率远高于 Tomcat 的处理能力若 Tomcat 的请求量为1000次,则 Nginx 的请求量为6000次Tomcat 每秒的吞吐量为0.6M,Nginx 的每秒吞吐量为3.6MNginx 处理静态资源的能力是 Tomcat 处理的6倍
三、配置Nginx + Tomcat 动静分离、负载均衡
准备三台服务器,1台Nginx作为负载均衡器,2台Tomcat作为后端应用服务器(1台部署多实例)
Nginx 服务器:192.168.132.51:80
Tomcat服务器1:192.168.132.53:8080
Tomcat服务器2:192.168.132.52:8080 192.168.132.52:8081
1、部署 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-\ #启用状态统计--with-\ #启用 gzip静态压缩--with-\ #启用 flv模块,提供对 flv 视频的伪流支持--with- #启用 SSL模块,提供SSL加密功能--with-stream #启用 stream模块,提供4层调度----------------------------------------------------------------------------------------------------------
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
vim /lib/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
2、部署两台 Tomcat 应用服务器
关闭防火墙systemctl stop firewalldsetenforce 0 解压tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/cd /usr/local/jdk1.8.0_91设置JDK环境变量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.gzmv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat关闭,启动/usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/startup.sh查看端口netstat -ntap | grep 8080
3、动静分离配置
1.tomcat1 192.168.132.53
mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
修改配置文件vim /usr/local/tomcat/conf/server.xml
/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh
2.tomcat2 192.168.132.52(多实例)
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"%>
vim /usr/local/tomcat/tomcat2/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
/usr/local/tomcat/tomcat2/bin/shutdown.sh /usr/local/tomcat/tomcat2/bin/startup.sh /usr/local/tomcat/tomcat1/bin/shutdown.sh /usr/local/tomcat/tomcat1/bin/startup.sh
3.Nginx server 配置
#准备静态页面和静态图片echo '
this is static' > /usr/local/nginx/html/index.htmlmkdir /usr/local/nginx/html/imgcd /usr/local/nginx/html/imgvim /usr/local/nginx/conf/nginx.conf......{......#gzip on;#配置负载均衡的服务器列表,weight参数表示权重,权重越高,被分配到的概率越大upstream tomcat_server {server 192.168.132.53:8080 weight=1;server 192.168.132.52:8080 weight=1;server 192.168.132.52:8081 weight=1;}
server {listen 80;server_name kgc.com;
charset utf-8; #access_log logs/host.access.log main; #配置Nginx处理动态页面请求,将 .jsp文件请求转发到Tomcat 服务器处理 location ~ .*\.jsp$ { proxy_pass HOST $host;##把$remote_addr赋值给X-Real-IP,来获取源IPproxy_set_header X-Real-IP $remote_addr;##在nginx 作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
#配置Nginx处理静态图片请求 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ { root /usr/local/nginx/html/img; expires 10d; } location / { root html; index index.html index.htm; }
......}......}
4、测试结果
使用浏览器访问
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~