Clúster de separación estática y dinámica de equilibrio de carga nginx-tomcat

1. Directorio importante de Tomcat

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

2. Aplicación Nginx

1. Nginx es un software de servidor HTTP muy bueno

 支持高达50000个并发连接数的响应
 拥有强大的静态资源处理能力
 运行稳定
 内存、CPU等系统资源消耗非常低

目前很多大型网站都应用Nginx服务器作为后端网站程序的方向代理及负载均衡器,提升整个站点的负载并发能力。

3. Principios de la implementación del equilibrio de carga de Nginx

Los principales parámetros del proxy de dirección de configuración de nginx

1. upstream 服务池名{}
  配置后端服务器池,以提供响应数据
2.proxy_pass http://服务池名
  配置将访问请求转发给后端服务器池的服务处理

Principio de implementación de separación dinámica y estática de Nginx

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

4. Implementar y probar la construcción de sitios web

1.要求部署两台后端tomcat服务器
2.为了进行测试,搭建两个内容不同网站
3.tomcat部署网站搭建步骤
    关闭firewall防火墙
    安装JDK,配置JAVA环境
    安装配置Tomcat
    创建/web/webapp1目录,修改server.xml,将网站文件目录更改到/web/webapp1/路径下
    /web/webapp1/下建立测试页面index.jsp,并进行测试

Equilibrio de carga de configuración de Five. Nginx, separación dinámica y estática

1. Instale Nginx en el servidor Nginx, realice el proxy inverso de dos sitios Tomcat y logre el equilibrio de carga

关闭Firewalld防火墙
安装Nginx依赖软件包
解压并编译安装Nginx
配置nginx.conf,添加location静态页面处理添加upstream配置段与proxy_pass
检测配置文件与启动Nginx
测试负载均衡、动静分离效果

Seis. Proceso de configuración

1. Entorno experimental

Nginx服务器(192.168.13.177)
Tomcat1服务器(192.168.13.151)
Tomcat2服务器 (192.168.13.178)
client测试机

2. Equilibrio de carga

Instale el servicio Tomcat en Tomcat1 y Tomcat2

[root@tomcat1 ~]# systemctl stop firewalld.service  ##关闭防火墙
[root@tomcat1 ~]# mkdir /abc
[root@tomcat1 ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/
[root@tomcat1 ~]# cd /abc/tomcat/
[root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/  ##解压JDK
[root@tomcat1 tomcat]# vim /etc/profile   ##配置环境变量
##大G末行加入
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
[root@tomcat1 tomcat]# source /etc/profile  ##刷新配置文件
[root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/   ##解压
[root@tomcat1 tomcat]# cd /usr/local/
[root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat
[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/   
##将启动和关闭脚本便于系统识别
[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
[root@tomcat1 local]# mkdir -p /web/webapp1  ##创建站点
[root@tomcat1 local]# vim /web/webapp1/index.jsp   ##写入jsp网页内容
##jsp网页内容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
 <head>
    <title>JSP test1 page</title>
 </head>
 <body>
    <% out.println("Welcome KGC Web");%>    ##输出信息
 </body>
</html>
[root@tomcat1 local]# vim /usr/local/tomcat/conf/server.xml  ##修改Tomcat配置文件
        <Host name="localhost"  appBase="webapps"
                    unpackWARs="true" autoDeploy="true">
            <Context docBase="/web/webapp1" path="" reloadable="false">  ##添加站点信息
            </Context>
[root@tomcat1 ~]# startup.sh   ##启动服务
##Tomcat上网页内容为accp其他配置一样

Instale Nginx en el servidor Nginx

[root@nginx ~]# systemctl stop firewalld.service    ##关闭防火墙
[root@nginx ~]# setenforce 0
[root@nginx ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y  ##安装环境必要组件
[root@nginx ~]# mkdir /abc
[root@nginx ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/   ##挂载
Password for root@//192.168.100.3/LNMP-C7:  
[root@nginx ~]# cd /abc/
[root@nginx abc]# tar zxvf nginx-1.12.2.tar.gz -C /usr/local/  ##解压
[root@nginx abc]# useradd -M -s /sbin/nologin nginx   ##创建系统用户
[root@nginx abc]# cd /usr/local/nginx-1.12.2/
[root@nginx nginx-1.12.2]# ./configure \   ##配置
 > --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --with-http_flv_module 
[root@nginx nginx-1.12.2]# make && make install   ##编译安装 

Modificar el archivo de configuración de Nginx

[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
  #keepalive_timeout  0;
        keepalive_timeout  65;

        #gzip  on;

        upstream tomcat-server {                             #添加地址池
                            server 192.168.13.151:8080 weight=1;
                            server 192.168.13.178:8080 weight=1;    
                        }

        server {
                listen       80;
.....省略
location / {
                    root   html;
                    index  index.html index.htm;
                    proxy_pass http://tomcat-server;         #添加代理,调用服务器地址池
             }
[root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  ##便于系统识别
[root@nginx nginx-1.12.2]# nginx   ##开启服务

Utilice la máquina de prueba del cliente para acceder al servidor proxy nginx

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

2. Separación dinámica y estática

Modificar el archivo de configuración en Nginx

[root@nginx nginx-1.12.2]# vim /etc/init.d/nginx  ##编写service启动脚本
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
    start)
        $PROG
          ;;
    stop)
        kill -s QUIT $(cat $PIDF)
         ;;
   restart)
       $0 stop
       $0 start
        ;;
    reload)
        kill -s HUP $(cat $PIDF)
        ;;
    *)
                echo "Usage: $0 {start|stop|restart|reload}"
                exit 1
esac
exit 0
[root@nginx nginx-1.12.2]# chmod +x /etc/init.d/nginx 
[root@nginx nginx-1.12.2]# chkconfig --add nginx
[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
server {
...省略...
 location ~.*.jsp$ {       ##匹配jsp页面跳转代理服务器池
     proxy_pass http://tomcat-server;
     proxy_set_header Host $host;
 }
        location / {
    root   html/test;   ##修改站点
    index  index.html index.htm;
    proxy_pass http://tomcat-server;
 }
[root@nginx nginx-1.12.2]# vim /usr/local/nginx/html/index.html   ##编写静态网页
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>静态页面</title>
<style>
body {
    width: 35em;
    margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
    <h1>静态页面</h1>
    <p>这是个静态页面</p>
</body>
</html>
[root@nginx nginx-1.12.2]# service nginx stop    ##关闭开启服务
[root@nginx nginx-1.12.2]# service nginx start

Cree páginas dinámicas jsp en Tomcat1 y Tomcat2

[root@tomcat1 ~]# mkdir /usr/local/tomcat/webapps/test
[root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>   ##开头申明
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/    html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>动态页面</title>
</head>
<body>
<div>动态页面1</div>
</body>
</html>
##在Tomcat2上修改为动态页面22
//访问静态
 http://192.168.13.177/  
//访问动态  
http://192.168.13.177/test/index.jsp

Nginx maneja imágenes estáticas, Tomcat maneja páginas dinámicas

Agregue imágenes a la página en Tomcat1 y Tomcat2

[root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp
<body>
    <div>动态页面</div><br><img src="11.jpg"> //添加页面图片 
</body>
 [root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml 
#在第149行下追加以下条目,
<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="false">
</Context>
[root@tomcat1 test]# shutdown.sh    ##关闭重启
[root@tomcat1 test]# startup.sh

Modificar el archivo de configuración en Nginx

[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ { 
  root html/test;
  expires 30d;
}
[root@nginx nginx-1.12.2]# mkdir /usr/local/nginx/html/test
 [root@nginx nginx-1.12.2]# cp /abc/11.jpg /usr/local/nginx/html/test/
#重启服务
[root@nginx html]# service nginx restart

prueba

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_45647891/article/details/111032914
Recomendado
Clasificación