Linux系统架构----Tomcat 部署
创始人
2024-11-17 22:09:04
0

一.Tomcat概述

Tomcat服务器是一个免费的开放式源代码的web应用服务器,属于轻量级应用级服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首首选。
一般来说,tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,但是由于其处理静态HTML的能力远不及Apache或者Nginx,因此Tomcat通常作为一个Servlet和JSP容器。

注:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。 

二.Tomcat的部署

  • 部署环境
主机操作系统IP地址主要软件
Tomcat服务器centos810.1.1.171jdk-8u333-linux-x64.tar.gz、apache-tomcat-9.0.64.tar.gz
注:在安装Tomcat之前必须安装JDK,JDK是Sun公司提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可以形成Java的字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了Java的跨平性。在平台兼容性方面,JDK作为解释字节码并据此调用操作系统的API(功能接口)实现对应功能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同版本。 
  • 安装JDK,配置Java环境
#由于下载包比较慢已经提前下载了 [root@tomcat ~]# ls anaconda-ks.cfg  jdk-8u333-linux-x64.tar.gz [root@tomcat ~]# tar xf jdk-8u333-linux-x64.tar.gz -C /usr/local [root@tomcat ~]# cd /usr/local [root@tomcat local]# ln -s jdk1.8.0_333/ jdk #配置环境变量 [root@tomcat local]# vim /etc/profile.d/jdk.sh [root@tomcat ~]# cat /etc/profile.d/jdk.sh  export JAVA_HOME=/usr/local/jdk export PATH=$PATH:$JAVA_HOME/bin #生成环境变量 [root@tomcat local]# . /etc/profile.d/jdk.sh #验证安装 [root@tomcat local]# java -version java version "1.8.0_333" Java(TM) SE Runtime Environment (build 1.8.0_333-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode) [root@tomcat local]# which java /usr/local/jdk/bin/java #查找jdk路径 [root@tomcat ~]# find / -name jdk /usr/local/jdk 
  • 二进制安装tomcat,提前准备好安装包
[root@tomcat ~]# tar xf apache-tomcat-9.0.64.tar.gz -C /usr/local [root@tomcat ~]# cd /usr/local/ [root@tomcat local]# ln -s apache-tomcat-9.0.64/ tomcat #指定PATH变量 [root@tomcat ~]## echo 'PATH=/usr/local/tomcat/bin:$PATH' > /etc/profile.d/tomcat.sh [root@tomcat ~]# . /etc/profile.d/tomcat.sh  [root@tomcat ~]# echo $PATH  /usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/jdk/bin #查看当前变量设置和命令用法 [root@tomcat ~]# catalina.sh  Using CATALINA_BASE:   /usr/local/tomcat Using CATALINA_HOME:   /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME:        /usr/local/jdk #查看环境变量和版本信息 [root@tomcat ~]# catalina.sh version Using CATALINA_BASE:   /usr/local/tomcat Using CATALINA_HOME:   /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME:        /usr/local/jdk #启动tomcat [root@tomcat ~]# startup.sh Using CATALINA_BASE:   /usr/local/tomcat Using CATALINA_HOME:   /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME:        /usr/local/jdk Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:    Tomcat started #查看端口 [root@tomcat ~]# ss -ntl State       Recv-Q      Send-Q                 Local Address:Port             Peer Address:Port      Process       LISTEN      0           128                          0.0.0.0:22                    0.0.0.0:*                       LISTEN      0           100                        127.0.0.1:25                    0.0.0.0:*                       LISTEN      0           1                 [::ffff:127.0.0.1]:8005                        *:*                       LISTEN      0           100                                *:8080                        *:*                       LISTEN      0           128                             [::]:22                       [::]:*                       LISTEN      0           100                            [::1]:25                       [::]:* #查看进程是以root启动的 [root@tomcat ~]# ps aux |grep tomcat root       23461 27.7  4.1 4213856 118128 pts/0  Sl   14:35   0:07 /usr/local/jdk/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMana #关闭tomcat [root@tomcat ~]# shutdown.sh Using CATALINA_BASE:   /usr/local/tomcat Using CATALINA_HOME:   /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME:        /usr/local/jdk Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:  #再次用不同方式启动tomcat [root@tomcat ~]# 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/jdk Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:    Tomcat started. [root@tomcat ~]## ss -ntl State       Recv-Q      Send-Q                 Local Address:Port             Peer Address:Port      Process       LISTEN      0           128                          0.0.0.0:22                    0.0.0.0:*                       LISTEN      0           100                        127.0.0.1:25                    0.0.0.0:*                       LISTEN      0           1                 [::ffff:127.0.0.1]:8005                        *:*                       LISTEN      0           100                                *:8080                        *:*                       LISTEN      0           128                             [::]:22                       [::]:*                       LISTEN      0           100                            [::1]:25                       [::]:*    #再次用不同方式关闭 [root@tomcat ~]# catalina.sh stop Using CATALINA_BASE:   /usr/local/tomcat Using CATALINA_HOME:   /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME:        /usr/local/jdk Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:   

三.验证Tomcat服务器

[root@tomcat local]# ps aux |grep tomcat root        1812 97.6  4.1 4213856 116056 pts/1  Sl   14:40   0:09 /usr/local/jdk/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 -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/localtomcat/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        1845  0.0  0.0  12348  1068 pts/1    S+   14:40   0:00 grep --color=auto tomcat [root@tomcat ~]# ss -ntl State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port Process   LISTEN  0       100               127.0.0.1:25          0.0.0.0:*              LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              LISTEN  0       100                   [::1]:25             [::]:*              LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              LISTEN  0       100                       *:8080              *:*              LISTEN  0       128                    [::]:22             [::]:*  

在这里插入图片描述

  • 配置tomcat自启动的service文件
#创建tomcat专用账户 [root@tomcat ~]# useradd -r -s /sbin/nologin tomcat #准备service文件中相关环境 [root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat.conf JAVA_HOME=/usr/local/jdk  #注意写此环境之前确定jdk路径 [root@tomcat ~]# chown -R tomcat.tomcat /usr/local/tomcat/ #创建tomcat.service [root@tomcat ~]# vim /lib/systemd/system/tomcat.service [root@tomcat ~]# cat /lib/systemd/system/tomcat.service  [Unit] Description=Tomcat 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@tomcat ~]# systemctl daemon-reload [root@tomcat ~]# systemctl enable --now tomcat [root@tomcat ~]# systemctl restart tomcat.service [root@tomcat ~]# systemctl status tomcat.service #查看日志 [root@tomcat1 ~]# tail /var/log/messages Jan 19 15:37:54 tomcat1 systemd[1]: Started dnf makecache. Jan 19 17:29:53 tomcat1 systemd[1]: Starting dnf makecache.. 

四.Tomcat的配置相关说明

  • tomcat的主目录为 /usr/local/tomcat
[root@tomcat ~]# ll /usr/local/tomcat/ 总用量 128 drwxr-x--- 2 tomcat tomcat  4096 3月  14 14:39 bin -rw-r----- 1 tomcat tomcat 18986 6月   3 2022 BUILDING.txt drwx------ 3 tomcat tomcat   273 3月  14 14:47 conf -rw-r----- 1 tomcat tomcat  6210 6月   3 2022 CONTRIBUTING.md drwxr-x--- 2 tomcat tomcat  4096 3月  14 14:39 lib -rw-r----- 1 tomcat tomcat 57092 6月   3 2022 LICENSE drwxr-x--- 2 tomcat tomcat   197 3月  14 14:40 logs -rw-r----- 1 tomcat tomcat  2333 6月   3 2022 NOTICE -rw-r----- 1 tomcat tomcat  3398 6月   3 2022 README.md -rw-r----- 1 tomcat tomcat  6901 6月   3 2022 RELEASE-NOTES -rw-r----- 1 tomcat tomcat 16505 6月   3 2022 RUNNING.txt drwxr-x--- 2 tomcat tomcat    30 3月  14 14:39 temp drwxr-x--- 7 tomcat tomcat    81 6月   3 2022 webapps drwxr-x--- 3 tomcat tomcat    22 3月  14 14:40 work  
  • 主要目录说明
/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件 /conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml /doc:存放Tomcat文档 /server:包含三个子目录:classes、lib和webapps /server/lib:存放Tomcat服务器所需的各种JAR文件 /server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用 /common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件 /shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问) /logs:存放Tomcat执行时的日志文件 /src:存放Tomcat的源代码 /webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录 /work:存放JSP编译后产生的class文件 
  • 主要配置文件
[root@tomcat ~]# cd /usr/local/tomcat/ [root@tomcat tomcat]# cd conf/ [root@tomcat conf]# ll 总用量 236 drwxr-x--- 3 tomcat tomcat     23 3月  14 14:40 Catalina -rw------- 1 tomcat tomcat  12953 6月   3 2022 catalina.policy -rw------- 1 tomcat tomcat   7308 6月   3 2022 catalina.properties -rw------- 1 tomcat tomcat   1400 6月   3 2022 context.xml -rw------- 1 tomcat tomcat   1149 6月   3 2022 jaspic-providers.xml -rw------- 1 tomcat tomcat   2313 6月   3 2022 jaspic-providers.xsd -rw------- 1 tomcat tomcat   4144 6月   3 2022 logging.properties -rw------- 1 tomcat tomcat   7580 6月   3 2022 server.xml -rw-r--r-- 1 tomcat tomcat     25 3月  14 14:47 tomcat.conf -rw------- 1 tomcat tomcat   2756 6月   3 2022 tomcat-users.xml -rw------- 1 tomcat tomcat   2558 6月   3 2022 tomcat-users.xsd -rw------- 1 tomcat tomcat 172439 6月   3 2022 web.xml 
catalina.policy:权限控制配置文件 catalina.properties:Tomcat的属性配置文件 context.xml:上下文配置文件 logging.properties:日志相关配置文件 server.xml:主配置文件,通过配置文件,可以修改tomcat的启动端口、网站目录、虚拟主机、开启https等功能 tomcat-user.xml/.xsd:管理用户配置文件 web.xml:Tomcat的servlet、servlet-mapping、filter、MIME等相关配置 

相关内容

热门资讯

一分钟了解(新友麻将)外挂辅助... 一分钟了解(新友麻将)外挂辅助神器(辅助挂)高科技教程(2024已更新)(哔哩哔哩)是一款可以让一直...
第5分钟了解“创思维激k辅助器... 第5分钟了解“创思维激k辅助器下载”详细透视开挂辅助安装-哔哩哔哩,创思维激k辅助器下载是用手机号来...
1阶段了解!欢聚水鱼辅助视频,... 1阶段了解!欢聚水鱼辅助视频,hhpoker透视脚本,德州论坛(有挂技巧)暗藏猫腻,小编详细说明欢聚...
黑科技辅助!德扑之星禁止模拟器... 黑科技辅助!德扑之星禁止模拟器(透视)外挂ai辅助工具(素来有挂)-哔哩哔哩;德扑之星禁止模拟器AI...
黑科技辅助(EV扑克)外挂透明... 黑科技辅助(EV扑克)外挂透明挂插件安装辅助黑科技(透视)可靠教程(2020已更新)(哔哩哔哩);致...
第8分钟了解(鸿运阁)外挂辅助... 您好:鸿运阁这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总...
第8分钟了解“嘟咪互动有挂码”... 第8分钟了解“嘟咪互动有挂码”详细透视开挂辅助神器-哔哩哔哩;一、嘟咪互动有挂码有挂的是的,亲,有的...
第9分钟了解!闲来辅助神器下载... 第9分钟了解!闲来辅助神器下载2022插件开挂,新世界辅助器软件透视挂(最新版本2026)1、实时闲...
黑科技辅助!智星德州菠萝辅助(... 黑科技辅助!智星德州菠萝辅助(透视)外挂ai辅助工具(切实是真的有挂)-哔哩哔哩是一款可以让一直输的...
黑科技辅助(传奇德州扑克)外挂... 黑科技辅助(传奇德州扑克)外挂透明挂辅助AI(透视)软件教程(2020已更新)(哔哩哔哩);相信小伙...