当前位置: 首页 > news >正文

Tomcat 负载均衡

目录

二、Tomcat Web Server

2.1 Tomcat 部署

2.1.1 Tomcat 介绍

2.1.2 Tomcat 安装

 2.2 Tomcat 服务管理

2.2.1 Tomcat 启停

2.2.2 目录说明

2.2.3编辑主页

 2.3 Tomcat管理控制台

 2.3.1开启远程管理

2.3.2 配置远程管理密码

 三、负载均衡

3.1 重新编译Nginx

3.1.1 确认环境

 3.1.2重新加压编译安装

3.2 配置Nginx


二、Tomcat Web Server

2.1 Tomcat 部署

2.1.1 Tomcat 介绍

        Tomcat 官网:Apache Tomcat® - Welcome!

        Tomcat是在服务器中使用

        Tomcat 虽然和 Apache HTTPD 或者 Nginx 服务器一样,具有处理 HTML 页面的功能,但是其处理静态 HTML 的功能不及前两者。 Tomcat 通常是作为Java 主页的解析容器。

2.1.2 Tomcat 安装

        检查Java 环境。

[root@localhost ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@localhost ~]#

        安装解压软件。

#1、安装
wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz -P ~/Desktop

#2、解压
tar xf ~/Desktop/apache-tomcat-7.0.54.tar.gz -C /usr/local

#3、查看
[root@localhost ~]# ls
anaconda-ks.cfg Desktop Downloads Music Public Templates
apache-tomcat-7.0.54 Documents initial-setup-ks.cfg Pictures server.conf.sh Videos
[root@localhost ~]# mv apache-tomcat-7.0.54/ /usr/local/tomcat_7.0.54
[root@localhost ~]# ls -l /usr/local/tomcat_7.0.54/

 2.2 Tomcat 服务管理

2.2.1 Tomcat 启停

        开启tomcat 服务。
[root@localhost ~]# cd /usr/local/tomcat_7.0.54/
[root@localhost tomcat_7.0.54]# ./bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat_7.0.54
Using CATALINA_HOME: /usr/local/tomcat_7.0.54
Using CATALINA_TMPDIR: /usr/local/tomcat_7.0.54/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat_7.0.54/bin/bootstrap.jar:/usr/local/tomcat_7.0.54/bin/tomcat-juli.jar
Tomcat started.
[root@localhost tomcat_7.0.54]# netstat -anptul | grep ":8080"
tcp6 0 0 :::8080 :::* LISTEN 5706/java 
[root@localhost tomcat_7.0.54]#

        在local/bin的目录中,有.sh结尾的和.bat结尾的原因是因为tomcat不仅可以在Linux环境中运行,还可以在Windows环境中运行。 在Linux中启动使用 ./startup.sh。

        此时在client客户端中也可以访问:

         关闭Tomcat服务,停止就是运行 shutdown.sh。

[root@localhost ~]# cd /usr/local/tomcat_7.0.54/
[root@localhost tomcat_7.0.54]# ./bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat_7.0.54
Using CATALINA_HOME: /usr/local/tomcat_7.0.54
Using CATALINA_TMPDIR: /usr/local/tomcat_7.0.54/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat_7.0.54/bin/bootstrap.jar:/usr/local/tomcat_7.0.54/bin/tomcat-juli.jar
[root@localhost tomcat_7.0.54]#

2.2.2 目录说明

[root@localhost apache_tomcat_7.0.54]# ls -lh
total 96K
drwxr-xr-x 2 root root 4.0K Feb 3 22:24 bin         存放启动或关闭tomcat 服务的脚本
drwxr-xr-x 3 root root 174 Feb 3 22:25 conf         存放tomcat 全局配置文件
drwxr-xr-x 2 root root 4.0K Feb 3 22:24 lib         存放tomcat 需要的库文件
-rw-r--r-- 1 root root 56K May 20 2014 LICENSE
drwxr-xr-x 2 root root 197 Feb 3 22:25 logs         存放日志文件
-rw-r--r-- 1 root root 1.2K May 20 2014 NOTICE
-rw-r--r-- 1 root root 8.8K May 20 2014 RELEASE-NOTES
-rw-r--r-- 1 root root 16K May 20 2014 RUNNING.txt
drwxr-xr-x 2 root root 30 Feb 3 22:24 temp
drwxr-xr-x 7 root root 81 May 20 2014 webapps Web     应用部署目录
drwxr-xr-x 3 root root 22 Feb 3 22:25 work jsp         编译后产生的class 文件
[root@localhost apache_tomcat_7.0.54]#

2.2.3编辑主页

        Tomcat 默认应用: webapps/ROOT
        Tomcat 默认主页: webapps/ROOT/index.jsp
         5个文件夹,就有五个网站。

       刚进去看到的页面是在ROOT中,修改jsp文件
        将上面的图片内容修改成为下面的图片的内容:

         在客户端中刷新

 2.3 Tomcat管理控制台

 2.3.1开启远程管理

        Tomcat 管理控制台,能对 Web 应用进行管理,包括部署、启动、停止、卸载的操作。管理控制台配置文件: webapps/manager/META-INF/context.xml 。
        开启管理控制台远程连接。
vim /usr/local/apache-tomcat_7.0.54/webapps/manager/META-INF/context.xml

         将下面的代码粘贴到上面打开的文件中。

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.
(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?
|java\.util\.(?:Linked)?HashMap"/>

         配置完成之后不用重启。

2.3.2 配置远程管理密码

        进入管理控制台需要使用帐密。配置文件地址: conf/tomcat-users.xml

<roleomca rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admingui,admin-script"/>

        进入文件:

         将上面的代码粘贴进去:

        配置好之后需要重启Tomcat服务:

         火狐中登录查看:


 三、负载均衡

        nginx负载均衡

        当请求过来的时候,按照负载均衡算法分担到.100,101,102的服务器中去,即分给服务器1,2,3.....中,就是所谓的服务器集群

        客户只知道自己是访问tomcat,不知道自己访问的是nginx,所以说叫反向代理

        这里要反向代理,需要重新安装nginx,网关中安装。

        具体过程是需要按照Tomcat安装步骤,给Server和Syslog安装Tomcat。

         因为上面的步骤中已经把Server中的Tomcat部署好了,这里只部署Syslog。

3.1 重新编译Nginx

3.1.1 确认环境

        确认开发环境是否安装。

[root@localhost ~]# yum install zlib-devel pcre-devel -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
dvd | 3.6 kB 00:00:00 
Package zlib-devel-1.2.7-17.el7.x86_64 already installed and latest version
Package pcre-devel-8.32-17.el7.x86_64 already installed and latest version
Nothing to do
[root@localhost ~]#

        确认账号是否创建。

[root@localhost ~]# id nginx
uid=251(nginx) gid=1001(nginx) groups=1001(nginx)
[root@localhost ~]# grep "^nginx" /etc/passwd
nginx:x:251:1001::/home/nginx:/sbin/nologin
[root@localhost ~]#

        网关中停止Nginx。

         删除Nginx的文件。

         本地的Nginx也删除。

 3.1.2重新加压编译安装

[root@localhost ~]# tar xf Desktop/nginx-1.6.0.tar.gz
[root@localhost ~]# cd nginx-1.6.0/
[root@localhost nginx-1.6.0]# ./configure --prefix=/usr/local/nginx_1.6.0 --user=nginx --group=nginx --with-file-aio -
-with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-openssl=/usr/bin/openssl
[root@localhost nginx-1.6.0]# make
[root@localhost nginx-1.6.0]# make install

        make和make install 之后之后启动。

         进入Nginx。

        参数说明:

--user
指定用户
--group
指定组
--with-file-aio
启用文件修改
--with-http_stub_status_module
启用状态统计
--with-http_gzip_static_module
启用 gzip 静态压缩
--with-http_flv_module
启用 flv 模块
--with-http_ssl_module
启用 SSL 模块

3.2 配置Nginx

vim /usr/local/nginx/conf/nginx.conf

        反向代理把nginx的请求分发给tomcat。

        注释那原有的两个页面,然后加一个代理。

        正确的配置如下:upstream 和Server是同一个级别的。

http{
 upstream ajest_server { 设置负载均衡服务器地址
 server 172.16.1.100:8080 weight=1;
 server 172.16.1.200:8080 weight=1;
 }
 server {
 location / {
 proxy_pass http://ajest_server; 启用反代功能
 }
}

        然后重启nginx。

     设置的权重是一样的,所以分配的时候是随机的。

     所以访问http://192.168.1.254/时候是随机分配到Server和Syslog的。

     多刷新几次就会有100和200的分别。

相关文章:

  • [实战] 天线阵列波束成形原理详解与仿真实战(完整代码)
  • oracle 12c密码长度,复杂度查看与设置
  • android14 keycode 上报 0 解决办法
  • 微软模拟飞行2004快速操作手册
  • 快瞳犬种识别效果图示,120种狗品种精准覆盖
  • MATLAB的24脉波整流器Simulink仿真与故障诊断
  • SU-YOLO:基于脉冲神经网络的高效水下目标检测模型解析
  • Git入门篇
  • 02-阿里云与HTTP协议
  • c++进阶之----c++11(可变参数模板)
  • 学习计划:从MCP入门到项目构建的全面指南
  • Vue.js 中 v-show 的使用及其原理
  • C++ -异常之除以 0 问题(整数除以 0 编译时检测、整数除以 0 运行时检测、浮点数除以 0 编译时检测、浮点数除以 0 运行时检测)
  • 0.机器学习基础
  • SpringBoot整合MinIO快速入门:实现分布式文件存储与管理
  • QTSql全解析:从连接到查询的数据库集成指南
  • LCR 056. 两数之和 IV - 输入二叉搜索树
  • 工业4.0时代,RK3562工控机为何成为智慧工位首选?
  • PostgreSQL的内存管理机制
  • 《Operating System Concepts》阅读笔记:p587-p596
  • 祝贺!苏翊鸣成功解锁“2160”
  • 印称一名高级官员在巴基斯坦发动的袭击中死亡
  • 巴西总统卢拉将访华
  • 招商蛇口:今年前4个月销售额约498.34亿元
  • 美众议院通过法案将“墨西哥湾”更名为“美国湾”
  • 马新民卸任外交部条约法律司司长