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 LNMT:Linux + Nginx + MySQL + Tomcat LAMT:Linux + Apache(Httpd)+ MySQL + Tomcat 反向代理多机:前置一台Nginx,给多台Tomcat实例做反向代理和负载均衡调度,Tomcat上部署的纯动态页面更适合 LNMT:Linux + Nginx + MySQL + Tomcat 反向代理多机多级LNNMT:Linux + Nginx + Nginx + MySQL + TomcatTOMCAT源码编译下载
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修改配置