【Linux】Tomcat
Tomcat简介
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和 并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML页面的功能,它还是一个Servlet和 JSP容器
Tomcat的使用
安装java环境
[root@TO1 ~]# yum install java-1.8.0-openjdk.x86_64 -y
安装并启动Tomcat
[root@TO1 mnt]# ls
apache-tomcat-9.0.107 apache-tomcat-9.0.107.tar.gz hgfs
[root@TO1 mnt]# tar zxf apache-tomcat-9.0.107.tar.gz -C /usr/local/[root@TO1 local]# cd tomcat/
[root@TO1 tomcat]# cd bin/
[root@TO1 bin]# ./startup.sh
查看端口
[root@TO1 ~]# netstat -antlupe | grep java
Tomcat相关文件
bin | 服务启动、停止等相关程序和文件 |
conf | 配置文件 |
lib | 库目录 |
logs | 日志目录 |
webapps | 应用程序 应用部署目录,相当于nginx的默认发布目录 |
work jsp | 编译后的结果文件,建议提前预热访问 |
启动Tomcat
访问Tomcat
生成Tomcat启动文件
#生成tomcat的主配置文件
[root@TO1 local]# vim /usr/local/tomcat/conf/tomcat.conf
#配置文件内容---------------------------------------------------------
JAVA_HOME=/etc/alternatives/jre
---------------------------------------------------------------------
vim /lib/systemd/system/tomcat.service
#启动文件内容-----------------------------------------------------------------------
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target[Service]
Type=forking
EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat[Install]
WantedBy=multi-user.target
----------------------------------------------------------------------------------
[root@TO1 local]# useradd -s /sbin/nologin -M tomcat
[root@TO1 local]# chown tomcat.tomcat /usr/local/tomcat/ -R[root@TO1 bin]# systemctl enable --now tomcat.service
利用nginx反向代理Tomcat以及基于cookie的session绑定
在nginx服务器上编写配置文件达到如下图代理方式
nginx配置文件内容:
upstream tomcat{hash $cookie_JSESSIONID;server 172.25.254.15:8080;server 172.25.254.16:8080;
}
server {listen 80;server_name www.jie.org;location ~\.jsp$ {proxy_pass http://tomcat;}
}
编写Tomcat测试文件测试
测试效果:
session 共享服务器
Memcached简介
Memcached 是一款开源的高性能分布式内存对象缓存系统,主要用于减轻数据库负载、加速动态 Web 应用的响应速度。它通过将频繁访问的数据存储在内存中,避免了重复的数据库查询或计算操作,从而显著提升应用性能
msm 介绍
Memcached Session Manager(简称 MSM)是一个用于 Java Web 应用 的会话管理工具,它通过将用户会话(Session)数据存储在 Memcached 分布式缓存中,实现了会话的共享与高可用,特别适用于集群环境下的会话同步需求
安装memcache、将监听地址改为全部
[root@TO1 ~]# yum install memcached -y[root@TO1 ~]# vim /etc/sysconfig/memcachedPORT="11211"USER="memcached"MAXCONN="1024"CACHESIZE="64"OPTIONS="-l 0.0.0.0,::1"[root@TO1 ~]# systemctl enable --now memcached
将相关jar包添加到/usr/local/tomcat/bin/中
修改tomcat配置
[root@TO1 jar]# vim /usr/local/tomcat/conf/context.xml#添加以下内容<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:172.25.254.15:11211,n2:172.25.254.16:11211"failoverNodes="n1"requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
测试效果: