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/memcached
PORT="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"
/>
测试效果: