WEB应用服务器TOMCAT知识点

avatar
作者
猴君
阅读量:0

TOMCAT介绍

Tomcat是一个开源的Java Web应用服务器,主要用于运行Java编写的网站。

Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java Web应用服务器,最初由Sun Microsystems捐赠给Apache软件基金会,后来成为Apache Jakarta项目的一部分。Tomcat主要用于实现Java Servlet、JavaServer Pages(JSP)、Java Expression Language和Java WebSocket等技术规范。它能够将编译后的Java类文件和静态资源如HTML、CSS和JavaScript等整合在一起,通过HTTP协议响应用户的请求。

由于Tomcat是用Java语言编写的,因此它需要运行在Java虚拟机上,通常需要先安装Java Development Kit (JDK) 以提供运行环境。Tomcat实现了Java EE中的部分规范,尤其是Servlet和JSP,这使得它可以作为Servlet容器运行并处理动态Web请求。

Tomcat因其轻量级、易用性和强大的社区支持,被广泛用于教育和学习、开发测试以及中小型企业环境中。与大型商业服务器相比,Tomcat更适合个人项目或小型企业,提供网页浏览和小规模数据处理功能。尽管它不支持完整的Java EE规范,但其功能已经足够满足许多Web应用的需求。

TOMCAT的部署方式

standalone模式:Tomcat单独运行,直接接受用户的请求,不推荐。 单机反向代理:单机运行,提供了一个Nginx作为反向代理,可以做到静态由nginx提供响应,动态jsp代 理给Tomcat LNMTLinux + Nginx + MySQL + Tomcat LAMTLinux + ApacheHttpd+ MySQL + Tomcat 反向代理多机:前置一台Nginx,给多台Tomcat实例做反向代理和负载均衡调度,Tomcat上部署的纯动态页面更适合 LNMTLinux + Nginx + MySQL + Tomcat 反向代理多机多级LNNMTLinux + Nginx + Nginx + MySQL + Tomcat

TOMCAT源码编译下载

1.安装java环境jdk

2.解压tomcat的压缩包到/usr/local(可以去官网获取)

3.创建链接文件并启动tomcat

tomcat的文件结构和组成

bin 服务启动、停止等相关程序和文件 conf 配置文件 lib 库目录 logs 日志目录 webapps 应用程序,应用部署目录,相当于nginx的默认发布目录 work jsp 编译后的结果文件,建议提前预热访问

tomcat的启动文件的生成

1.主配置文件的生成(vim /usr/local/tomcat/conf/tomcat.conf

2.增加用户tomcat并修改/usr/local/tomcat的所属组

3.启动文件配置(vim /lib/systemd/system/tomcat.service

4.重新加载并启动tomcat

利用nginx实现tomcat的反向代理

1.编辑nginx的配置文件

将匹配到的以.jsp结尾的请求转发到http://172.25.254.20:8080。

2.编写一个test.jsp界面到tomcat的默认发布目录

测试

tomcat负载均衡实现

编辑nginx配置文件

配置文件中upstream tomcat 定义了一个名为 tomcat 的上游服务器组,其中包含两个服务器:172.25.254.10:8080 和 172.25.254.20:8080。当请求匹配到 location ~ \.jsp$ 时,Nginx 会将请求代理到这个上游服务器组中的一个服务器上。

使用哈希算法对 $cookie_JSESSIONID 这个变量进行哈希处理。确保同一个会话ID的请求总是被路由到相同的服务器上,从而保持会话状态的一致性。

测试:

tomcat结合mecached布置msm实现高可用

memcached的安装与启动

1.安装memcached

2.修改配置文件( vim /etc/sysconfig/memcached )

3.启动memcached

环境安装(参考https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration

配置过程

1.在tomcat1和tomcat2上修改配置(vim /usr/local/tomcat/conf/context.xml)

tomcat1:

tomcat2:

2.在nginx修改配置

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!