TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. 网站部署
  3. 正文

认识Tomcat

2023年11月13日 1059点热度 0人点赞 0条评论

1)Tomcat简介

  • Tomcat是Apache软件基金会(Apache Software Foundation )的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

  • Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

  • Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。

2)tomcat安装

2.1)安装jdk

  • 网址:https://www.oracle.com/java/technologies/downloads/#java8

`上传镜像`
[root@master-a src]# ll
-rw-r--r-- 1 root root 195094741 Oct 21 20:54 jdk-8u221-linux-x64.tar.gz
[root@master-a src]# mkdir /apps
[root@master-a src]# tar xf jdk-8u221-linux-x64.tar.gz -C /apps/
[root@master-a src]# chown -R root:root /apps/jdk1.8.0_221/
[root@master-a src]# ln -sv /apps/jdk1.8.0_221 /apps/jdk
`配置环境变量`
[root@master-a src]# sed -i.bak '$a export JAVA_HOME=/apps/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
[root@master-a src]# source /etc/profile
`验证服务`
[root@master-a src]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

2.2)安装tomcat

  • 网址:https://archive.apache.org/dist/tomcat/tomcat-8/

`上传镜像`
[root@master-a src]# ll
total 200804
-rw-r--r-- 1 root root  10523269 Oct 21 20:54 apache-tomcat-8.5.65.tar.gz
-rw-r--r-- 1 root root 195094741 Oct 21 20:54 jdk-8u221-linux-x64.tar.gz
[root@master-a src]# tar xf apache-tomcat-8.5.65.tar.gz -C /apps/
[root@master-a src]# chown -R root:root /apps/apache-tomcat-8.5.65/
[root@master-a src]# ln -sv /apps/apache-tomcat-8.5.65/ /apps/tomcat
`配置环境变量`
[root@master-a src]# sed -i.bak '$a export TOMCAT_HOME=/apps/tomcat\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH' /etc/profile
`验证服务`
[root@master-a src]# source /etc/profile

2.3)Tomcat目录介绍

[root@master-a tomcat]# tree -L 1
.
├── bin             #用以启动、关闭Tomcat或者其它功能的脚本(.bat文件和. sh文件)
├── BUILDING.txt
├── conf            #用于配置Tomcat的XML及DTD文件
├── CONTRIBUTING.md
├── lib             #存放web应用能访问的JAR包
├── LICENSE
├── logs            #Catalina和其它web应用程序的日志文件
├── NOTICE
├── README.md
├── RELEASE-NOTES
├── RUNNING.txt
├── temp            #临时文件
├── webapps         #web应用程序根目录
└── work            #用认产生有JsP编译出的servlet的.java和.class文件
[root@master-a webapps]# ll
total 4
drwxr-x--- 15 root root 4096 Oct 21 21:11 docs         #tomcat帮助文档
drwxr-x---  7 root root   99 Oct 21 21:11 examples     #web应用实例
drwxr-x---  6 root root   79 Oct 21 21:11 host-manager #管理
drwxr-x---  6 root root  114 Oct 21 21:11 manager      #管理
drwxr-x---  3 root root  223 Oct 21 21:11 ROOT         #默认网站根目录

2.4)启动Tomcat

#启动程序 /apps/tomcat/bin/startup.sh 
#关闭程序 /apps/tomcat/bin/shutdown.sh 
[root@master-a ~]# /apps/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /apps/tomcat
Using CATALINA_HOME:   /apps/tomcat
Using CATALINA_TMPDIR: /apps/tomcat/temp
Using JRE_HOME:        /apps/jdk
Using CLASSPATH:       /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@master-a ~]# ss -tnl
State      Recv-Q Send-Q              Local Address:Port                             Peer Address:Port              
LISTEN     0      128                             *:22                                          *:*                  
LISTEN     0      100                     127.0.0.1:25                                          *:*                  
LISTEN     0      100                          [::]:8080                                     [::]:*                  
LISTEN     0      128                          [::]:22                                       [::]:*                  
LISTEN     0      100                         [::1]:25                                       [::]:*                  
LISTEN     0      1              [::ffff:127.0.0.1]:8005                                     [::]:*      

Z

2.5)Tomcat日志

[root@master-a ~]# cd /apps/tomcat/logs/
[root@master-a logs]# tail -f catalina.out 
22-Oct-2023 18:54:09.451 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/apps/apache-tomcat-8.5.65/webapps/docs]
22-Oct-2023 18:54:09.459 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/apps/apache-tomcat-8.5.65/webapps/docs] has finished in [8] ms
22-Oct-2023 18:54:09.459 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/apps/apache-tomcat-8.5.65/webapps/examples]
22-Oct-2023 18:54:09.622 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/apps/apache-tomcat-8.5.65/webapps/examples] has finished in [163] ms
22-Oct-2023 18:54:09.622 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/apps/apache-tomcat-8.5.65/webapps/host-manager]
22-Oct-2023 18:54:09.636 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/apps/apache-tomcat-8.5.65/webapps/host-manager] has finished in [14] ms
22-Oct-2023 18:54:09.636 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/apps/apache-tomcat-8.5.65/webapps/manager]
22-Oct-2023 18:54:09.647 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/apps/apache-tomcat-8.5.65/webapps/manager] has finished in [11] ms
22-Oct-2023 18:54:09.651 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
22-Oct-2023 18:54:09.658 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 395 ms
​

3)Tomcat配置文件

3.1)Tomcat配置文件

[root@master-a conf]# pwd
/apps/tomcat/conf
[root@master-a conf]# ll
total 224
drwxr-x--- 3 root root     23 Oct 22 18:52 Catalina
-rw------- 1 root root  12874 Mar 30  2021 catalina.policy
-rw------- 1 root root   7661 Mar 30  2021 catalina.properties
-rw------- 1 root root   1338 Mar 30  2021 context.xml
-rw------- 1 root root   1149 Mar 30  2021 jaspic-providers.xml
-rw------- 1 root root   2313 Mar 30  2021 jaspic-providers.xsd
-rw------- 1 root root   3916 Mar 30  2021 logging.properties
-rw------- 1 root root   7588 Mar 30  2021 server.xml          #主配置文件
-rw------- 1 root root   2164 Mar 30  2021 tomcat-users.xml    #Tomcat管理用户配置文件
-rw------- 1 root root   2558 Mar 30  2021 tomcat-users.xsd
-rw------- 1 root root 171879 Mar 30  2021 web.xml

3.2)Tomcat管理

测试功能,生产环境不要用。

  • Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。在默认情况下是处于禁用状态的。如果需要开启这个功能,就需要配置管理用户,即配置前面说过的tomcat-users.xml。

[root@master-a conf]# vim tomcat-users.xml 
.....
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="manager-gui"/>
</tomcat-users>#在这行前面加入上面三行
`重启服务`
[root@master-a conf]# /apps/tomcat/bin/shutdown.sh 
[root@master-a conf]# /apps/tomcat/bin/startup.sh 

3.3)Tomcat主配置文件Server.xml详解

server:
          1、port 指定一个端口,这个端口负责监听关闭tomcat的请求
          2、shutdown 指定向端口发送的命令字符串
service:
          1、name 指定service的名字
Connector (表示客户端和service之间的连接):
          1、port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
          2、minProcessors 服务器启动时创建的处理请求的线程数
          3、maxProcessors 最大可以创建的处理请求的线程数
          4、enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
          5、redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
          6、acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
          7、connectionTimeout 指定超时的时间数(以毫秒为单位)
Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求):
          1、defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的
Context (表示一个web应用程序):
          1、docBase 应用程序的路径或者是WAR文件存放的路径
          2、path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****
          3、reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序
host (表示一个虚拟主机):
          1、name 指定主机名
          2、appBase 应用程序基本目录,即存放应用程序的目录
          3、unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序
Logger (表示日志,调试和错误信息):
          1、className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口
          2、prefix 指定log文件的前缀
          3、suffix 指定log文件的后缀
          4、timestamp 如果为true,则log文件名中要加入时间,如下
例:localhost_log.2001-10-04.txt
Realm (表示存放用户名,密码及role的数据库):
          1、className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口
Valve (功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样):
          1、className 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息
directory(指定log文件存放的位置):
    1、pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行

4)WEB站点部署

4.1)使用war包部署web站点

  • 上线的代码有两种方式,第一种方式是直接将程序目录放在webapps目录下面,这种方式大家已经明白了,就不多说了。第二种方式是使用开发工具将程序打包成war包,然后上传到webapps目录下面。下面让我们见识一下这种方式。

"出于安全考虑我们要将webapp的一些目录移走"
[root@master-a webapps]# mv docs examples host-manager manager ROOT/* /tmp/
[root@master-a webapps]# ll
total 0
drwxr-x--- 2 root root 6 Oct 22 19:45 ROOT
`上传war包`
[root@master-a webapps]# ll
total 67640
drwxr-x--- 6 root root       86 Oct 22 19:52 jpress
-rw-r--r-- 1 root root 69261961 Oct 22 19:52 jpress.war
drwxr-x--- 2 root root        6 Oct 22 19:45 ROOT

4.2)自定义默认网站目录

[root@master-a webapps]# vim /apps/tomcat/conf/server.xml 
.........
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">#在这行下面加入下面配置
      <Context path="" docBase="/apps/tomcat/webapps/jpress" debug="0" reloadable="false" corssContext="true"/>
       #及默认站点就变为了/apps/tomcat/webapps/jpress
...........

标签: 暂无
最后更新:2023年11月13日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 1)Tomcat简介
  • 2)tomcat安装
    • 2.1)安装jdk
    • 2.2)安装tomcat
    • 2.3)Tomcat目录介绍
    • 2.4)启动Tomcat
    • Z
    • 2.5)Tomcat日志
  • 3)Tomcat配置文件
    • 3.1)Tomcat配置文件
    • 3.2)Tomcat管理
    • 3.3)Tomcat主配置文件Server.xml详解
  • 4)WEB站点部署
    • 4.1)使用war包部署web站点
    • 4.2)自定义默认网站目录

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号