Tomcat

一、安装tomcat

bash 复制代码
systemctl disable --now firewalld.service	#关闭防火墙

#准备好tomcat压缩包,可从官网上下载
https://tomcat.apache.org/

#由于tomcat需要java环境,故
dnf install java-1.8.0-openjdk.x86_64 -y

ls
anaconda-ks.cfg               Desktop    Downloads  Pictures  rh9.3.repo  Videos
apache-tomcat-9.0.107.tar.gz  Documents  Music      Public    Templates


tar zxf apache-tomcat-9.0.107.tar.gz -C /usr/local/	#将tomcat解压到/usr/local/目录下

cd /usr/local/	#进入解压目录,查看解压后的文件
ls
apache-tomcat-9.0.107  bin  etc  games  include  lib  lib64  libexec  sbin  shar

mv apache-tomcat-9.0.107/ tomcat	#将解压后的文件放入到单独一个目录下,方便后续实验
cd tomcat/
ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp

cd bin/
ls	#查看tomcat的控制脚本
bootstrap.jar                 configtest.sh     shutdown.sh
catalina.bat                  daemon.sh         startup.bat
catalina.sh                   digest.bat        startup.sh
catalina-tasks.xml            digest.sh         tomcat-juli.jar
ciphers.bat                   makebase.bat      tomcat-native.tar.gz
ciphers.sh                    makebase.sh       tool-wrapper.bat
commons-daemon.jar            setclasspath.bat  tool-wrapper.sh
commons-daemon-native.tar.gz  setclasspath.sh   version.bat
configtest.bat                shutdown.bat      version.sh

./startup.sh	#启动tomcat
Using CATALINA_BASE:   /usr/local/tmocat
Using CATALINA_HOME:   /usr/local/tmocat
Using CATALINA_TMPDIR: /usr/local/tmocat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tmocat/bin/bootstrap.jar:/usr/local/tmocat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

netstat -antuple | grep 8080	#查看端口确认启动成功
tcp6       0      0 :::8080                 :::*                    LISTEN      0          65256      33796/java

查看是否启动成功

浏览器输入192.168.75.10:8080

二、生成tomcat的启动文件

1.生成tomcat的主配置文件

bash 复制代码
vim /usr/local/tomcat/conf/tomcat.conf
JAVA_HOME=/etc/alternatives/jre

2.生成启动文件

bash 复制代码
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

3.创建tomcat用户并设定安装目录权限

bash 复制代码
useradd -s /sbin/nologin -M tomcat
chown tomcat.tomcat /usr/local/tomcat/ -R

4.重启脚本启动服务

bash 复制代码
systemctl daemon-reload
systemctl enable --now tomcat.service

三、nginx与tomcat实现负载均衡

bash 复制代码
#tomcat配置:提前准备好一个测试文件test.jsp,放入/usr/local/tomcat/webapps/ROOT/下
两台tomcat都要

#重启服务
[root@tca ROOT]# systemctl restart tomcat.service
bash 复制代码
#nginx配置:在已经准备好的子配置文件中写入参数
vim /usr/local/nginx/conf.d/vhosts.conf

upstream tomcat {
    hash $cookie_JSESSIONID;
    server 192.168.75.10:8080 max_fails=3 fail_timeout=5;
    server 192.168.75.20:8080 max_fails=3 fail_timeout=5;
}

server {
    listen  80;
    server_name www.yna.org;

    #root /usr/local/nginx/html;
    location ~ \.jsp$ {
        proxy_pass http://tomcat;
        #fastcgi_index index.php;
        #include fastcgi.conf;
    }
}

#记得做好windows本地域名解析
#检查语法无误后重启
nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

nginx -s reload

测试:在浏览器中输入<www.yna.org/test.jsp>

第一次访问的是10,刷新后访问20,再刷新访问10,如此实现负载均衡

四、session共享服务器

msm实验配置

此实验需要建立在上一个实验基础之上

bash 复制代码
#安装memcached和telnet
dnf install memcached -y
dnf install telnet -y

#修改memcached配置
vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 0.0.0.0,::1"	#将127.0.0.1改为0.0.0.0


#实验需要以下jar包
kryo-3.0.3.jar
 asm-5.2.jar
 objenesis-2.6.jar
 reflectasm-1.11.9.jar
 minlog-1.3.1.jar
 kryo-serializers-0.45.jar
 msm-kryo-serializer-2.3.2.jar
 memcached-session-manager-tc9-2.3.2.jar
 spymemcached-2.12.3.jar
 memcached-session-manager-2.3.2.jar
 
 #将上述包放入/usr/local/tomcat/lib下
 #重启tomcat
systemctl restart tomcat.service
 
 
 #配置tomcat
 vim /usr/local/tomcat/conf/context.xml
 
     <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
    #加入:
     <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
         memcachedNodes="n1:192.168.75.10:11211,n2:192.168.75.20:11211"
         failoverNodes="n1"	#此处写本机
         requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
         transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
        />

</Context>

tomcat2同样配置即可
相关推荐
sql2008help2 小时前
使用spring-boot-starter-validation实现入参校验
java·开发语言
Mr_Air_Boy2 小时前
springboot集成xxl-job
java·spring boot·spring
摇滚侠3 小时前
面试实战 问题二十三 如何判断索引是否生效,什么样的sql会导致索引失效
java
悟纤3 小时前
当生产环境卡成 PPT:Spring Boot 线程 Dump 捉妖指南 - 第544篇
java·spring boot·后端
江影影影5 小时前
Spring Boot 2.6.0+ 循环依赖问题及解决方案
java·spring boot·后端
Jonathan丶BNTang6 小时前
IntelliJ IDEA 2025.2 重磅发布
java·ide·intellij-idea
tanxiaomi6 小时前
学习分库分表的前置知识:高可用系统架构理论与实践
java·mysql·spring cloud·系统架构·springboot
m0_741574757 小时前
tomcat
java·tomcat
跟着珅聪学java8 小时前
Redis 的使用场景
java