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

一、Tomcat简介

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

二、Tomcat重要目录:

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

三、Nginx应用:

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

四、Nginx负载均衡原理

Nginx实现负载均衡是通过反向代理实现
Nginx配置反向代理的主要参数
upstream 服务池名{} //四层//
配置后端服务器池,以提供响应数据
proxy_pass http://服务池名
配置将访问请求转发给后端服务器池的服务器处理

五、Nginx动静分离原理

动静分离原理
服务端接受来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源Nginx转发至后端
Nginx静态处理优势
Nginx处理静态页面的效率远高于Tomcat的处理能力
若Tomcat的请求量为1000次,则Nginx的请求量为6000次
Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M
Nginx处理静态资源的能力是Tomcat处理的6倍

六、实验步骤

nginx做反向代理,tomcat做网页,实现负载均衡。
nginx支持高并发,所以实现动静分离,nginx做静态网页,tomcat做动态

1、项目需求
至少三台服务器,两台tomcat相同的配置,一台做nginx反向代理。
【1】nginx服务器:192.168.60.30
【2】tomcat02服务器:192.168.60.40
【3】tomcat01服务器:192.168.60.50
2、项目配置
——————————————动静分离————————————
【1】nginx配置
手工编译安装nginx服务
yum install -y gcc gcc-c++ pcre-devel zlib-devel
useradd -M -s /sbin/nologin nginx
cd /opt
tar zxvf nginx-1.12.2.tar.gz
cd /opt/nginx-1.12.2/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
ln -s /usr/local/nginx/conf/nginx.conf /etc/

vim /usr/local/nginx/conf/nginx.conf
#access_log  logs/host.access.log  main;
        location ~.*.jsp$ {
          proxy_pass http://192.168.60.50:8080;
          proxy_set_header Host $host;
        }

nginx -t

vim /usr/local/nginx/html/index.html
<h1>this is jingtai web</h1>

nginx 

【2】tomcat01配置
tar zxvf /opt/jdk-8u91-linux-x64.tar.gz -C /usr/local
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

tar zxvf /opt/apache-tomcat-9.0.16.tar.gz -C /usr/local
cd /usr/local
mv apache-tomcat-9.0.16/ tomcat
cd /usr/local/tomcat/bin/
ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin

mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<h1>this is dongtai web</h1>
startup.sh

【3】访问192.168.60.30会出现静态网页,访问192.168.60.30/test/index.jsp会出现动态网页

—————————基于上面动静分离更新,tomcat做动态页面,nginx处理静态图片——————————
【1】nginx服务器配置
mkdir /usr/local/nginx/html/test
//注意目标名称需要和Java项目名称相同均为test
cd /usr/local/nginx/html/test
mv WPS图片-修改尺寸.jpg meinv.jpg

vim /usr/local/nginx/conf/nginx.conf
location ~.*.\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
          root html;
          expires 30d;
        }

【2】tomcat01服务器的配置
vim /usr/local/tomcat/webapps/test/index.jsp
<h1>this is dongtai web</h1>
<img src="meinv.jpg" />

【3】访问192.168.60.30/test/index.jsp,会出现动态页面和图片,但是图片在nginx服务器上,页面在tomcat上面。

———————————————lvs负载均衡————————
【1】配置tomcat02服务器
cd /usr/local/tomcat/
mkdir -p /usr/local/tomcat/webapps/web/webapp1
vim webapp1/index.jsp
<h1>this is lvs1 web</h1>

vim conf/server.xml
150 <Context docBase="web/webapp1" path="" reloadable="false">
151 </Context>
docBase:web站点目录
path:设置默认类
reloadable:设置监视类是否变化

startup.sh

【2】配置tomcat01服务器
cd /usr/local/tomcat/
mkdir -p /usr/local/tomcat/webapps/web/webapp1
vim webapp1/index.jsp
<h1>this is lvs2 web</h1>

vim conf/server.xml
150 <Context docBase="web/webapp1" path="" reloadable="false">
151 </Context>

startup.sh

【3】nginx反向代理配置
vim /usr/local/nginx/conf/nginx.conf

#gzip  on;
    upstream tomcat_server {
       server 192.168.60.50:8080 weight=1;
       server 192.168.60.40:8080 weight=1;
    }

location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server;
        }

pkill -9 nginx
nginx

【4】访问192.168.60.30会出现轮询webapp1上面书写的页面




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值