Linux部署Tomcat服务器

一、下载软件包

tomcat:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.zip

jdk:https://www.oracle.com/java/technologies/javase-downloads.html

如何想使用tomcat9的话,官方要求JRE的版本必须是8以上的,所以在安装之前,我们需要确认一下本机的版本,如果满足需求的话可以直接安装tomcat。

二、安装JDK

# 1、查看当前是否安装过jdk
[root@localhost ~]# java -version
bash: java: 未找到命令...
文件搜索失败: Cannot update read-only repo
#系统提示没有找到命令,意味着没有安装相关软件包,所以我们要安装

# 源码安装
[root@localhost ~]# ls
anaconda-ks.cfg  jdk1.8.0_471  jdk-8u471-linux-x64.tar.gz
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -snf ~/jdk1.8.0_471/ java
[root@localhost local]# vim /etc/profile
...
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
[root@localhost local]# . /etc/profile
[root@localhost local]# java -version
java version "1.8.0_471"
Java(TM) SE Runtime Environment (build 1.8.0_471-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.471-b09, mixed mode)



# 3、验证:安装完成后再次查看
[root@localhost ~]# java -version
java version "1.8.0_471"
Java(TM) SE Runtime Environment (build 1.8.0_471-b09) #java的运行环境,也叫jre
Java HotSpot(TM) 64-Bit Server VM (build 25.471-b09, mixed mode)

#JVM java的虚拟机,可以使Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,
使得Java语言编译程序只需生成在Java虚拟机上运行的字节码就可以了,这样就可以在多种平台上不加修改地运行。很多语言都采用了
这种类似的思路,才使得他们具有可移植性,比如说python

三、安装Tomcat

# 1、tomcat 安装

[root@localhost ~]# ls
anaconda-ks.cfg               apache-tomcat-9.0.112         jdk1.8.0_471
apache-tomcat-9.0.112.tar.gz  jdk-8u471-linux-x64.tar.gz
[root@localhost ~]# mv apache-tomcat-9.0.112 /usr/local/
[root@localhost local]# ln -snf apache-tomcat-9.0.112 tomcat
[root@localhost local]# vim /etc/profile
...
export CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$CATALINA_HOME/bin

[root@localhost local]#. /etc/profile

# 2.启动tomcat
[root@localhost local]# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

# 3. 确认进程
[root@localhost local]# ps aux | grep tomcat
root       12165  5.9  3.2 4452032 127364 pts/1  Sl   13:55   0:01 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dsun.io.useCanonCaches=false -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       12201  0.0  0.0   6408  2176 pts/1    R+   13:55   0:00 grep --color=auto tomcat

# 4.查看端口是否监听
[root@localhost local]# ss -naptu | grep 80
tcp   TIME-WAIT 0      0             192.168.217.137:46818    104.26.12.31:80                                                         
tcp   LISTEN    0      1          [::ffff:127.0.0.1]:8005                *:*     users:(("java",pid=12165,fd=67))                     
tcp   LISTEN    0      100                         *:8080                *:*     users:(("java",pid=12165,fd=58))   


tomcat的两个端口
8005 是关闭tomcat使用的端口,可以使用telnet serverip 8005 然后输入大写的SHUTDOWN关闭tomcat,所以建议
更改端口 或者把引号中了命令改成不容易记忆的,个人推荐改命令,因为改端口没有告诉负责网络安全的同事就会给你屏蔽掉
………

8080 连接端口

8009 AJP协议使用的端口,tomcat的优势是处理jsp页面 但是对于图片,静态页面处理能力特别差,相对于apache来说,
那么这个时候怎么办 做个分流 jsp页面由tomcat完成,静态的页面 图片由AJP来完成,AJP是定向包协议 使用二进制格式
来传输可读性文本,在server.xml配置文件中默认不生效

访问默认首页 http://localhost:8080 image-20251205150258549

注意: tomcat的访问端口是8080

提示:如果之前系统中安装过java环境的话,可能会出现即便安装完成新的jdk之后,使用java -version命令所查询的结果依然是老版本的,
这个问题是由于环境变量引起的,所以需要修改环境变量设置文件