tomcat

java体系

  • Java编程语言
  • Java类文件:java类文件为java编译后的文件
  • JavaAPI:java类文件库
  • JavaVM(JVM)
    • class loader:编译和类库文件加载器
    • 执行引擎

JRE(Java Runtime Enviroment):

是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。

JDK(Java Development Kit):

又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运 行Java程序的平台。JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。

运行jsp的web容器

jsp技术将java代码嵌入html文件中,建立了一种动态网页的编写标准,它的技术基础是serverlet技术,当用户请求一个jsp文件时,jsp会将代码转换成serverlet(即标准的java代码),java代码再交由低层的jdk执行。常见的容器有websphere,weblogic,tomcat。

中间件

中间件(英语:Middleware):又译中间件、中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。 -- 维基百科

tomcat简介

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。

tomcat就是传说中的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。

tomcat应用场景:lnmt

tomcat项目部署

java环境安装

//安装jdk环境
[root@tomcat ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

//查看安装的版本
[root@tomcat ~]# java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

tomcat部署

官网下载tomcat

//下载tomcat
[root@tomcat src]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
[root@tomcat src]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-10/v10.0.6/bin/apache-tomcat-9.0.24.tar.gz

//解压部署
[root@tomcat src]# ls
apache-tomcat-10.0.6.tar.gz  debug  gitlab-ce-13.9.7-ce.0.el8.x86_64.rpm  kernels
[root@tomcat src]# tar xf apache-tomcat-10.0.6.tar.gz 
[root@tomcat src]# ls
apache-tomcat-10.0.6         debug                                 kernels
apache-tomcat-10.0.6.tar.gz  gitlab-ce-13.9.7-ce.0.el8.x86_64.rpm

[root@tomcat src]# cd apache-tomcat-10.0.6
[root@tomcat apache-tomcat-10.0.6]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@tomcat apache-tomcat-10.0.6]# bin/startup.sh 
Using CATALINA_BASE:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@tomcat apache-tomcat-10.0.6]# ss -antl
State     Recv-Q     Send-Q               Local Address:Port           Peer Address:Port     
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          128                        0.0.0.0:10050               0.0.0.0:*        
LISTEN    0          128                           [::]:22                     [::]:*        
LISTEN    0          100                          [::1]:25                     [::]:*        
LISTEN    0          1               [::ffff:127.0.0.1]:8005                      *:*        
LISTEN    0          100                              *:8080                      *:*        
[root@tomcat apache-tomcat-10.0.6]# systemctl stop firewalld
[root@tomcat apache-tomcat-10.0.6]# setenforce 0

 

 

//写一个hello world的java页面
[root@tomcat apache-tomcat-10.0.6]# mkdir /usr/src/apache-tomcat-10.0.6/webapps/test
[root@tomcat apache-tomcat-10.0.6]# cat > /usr/src/apache-tomcat-10.0.6/webapps/test/index.jsp <<EOF
> <html>
> <head>
>         <title>test page</title>
> </head>
> <body>
>         <%
>             out.println("Hellow World");
>         %>
> </body>
> </html>
> EOF

 

 

//shutdown.sh、startup.sh、catalina.sh这三个脚本就是用来控制启动,关闭tomcat的
[root@tomcat apache-tomcat-10.0.6]# ls bin/
bootstrap.jar                 configtest.bat  migrate.sh        tomcat-native.tar.gz
catalina.bat                  configtest.sh   setclasspath.bat  tool-wrapper.bat
catalina.sh                   daemon.sh       setclasspath.sh   tool-wrapper.sh
catalina-tasks.xml            digest.bat      shutdown.bat      version.bat
ciphers.bat                   digest.sh       shutdown.sh       version.sh
ciphers.sh                    makebase.bat    startup.bat
commons-daemon.jar            makebase.sh     startup.sh
commons-daemon-native.tar.gz  migrate.bat     tomcat-juli.jar
[root@tomcat apache-tomcat-10.0.6]# bin/c
catalina.sh    ciphers.sh     configtest.sh  
[root@tomcat apache-tomcat-10.0.6]# bin/catalina.sh stop
Using CATALINA_BASE:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@tomcat apache-tomcat-10.0.6]# ss -antl
State      Recv-Q      Send-Q            Local Address:Port            Peer Address:Port     
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           128                     0.0.0.0:10050                0.0.0.0:*        
LISTEN     0           128                        [::]:22                      [::]:*        
LISTEN     0           100                       [::1]:25                      [::]:*        
[root@tomcat apache-tomcat-10.0.6]# bin/catalina.sh start
Using CATALINA_BASE:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@tomcat apache-tomcat-10.0.6]# ss -antl
State     Recv-Q     Send-Q               Local Address:Port           Peer Address:Port     
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          128                        0.0.0.0:10050               0.0.0.0:*        
LISTEN    0          128                           [::]:22                     [::]:*        
LISTEN    0          100                          [::1]:25                     [::]:*        
LISTEN    0          1               [::ffff:127.0.0.1]:8005                      *:*        
LISTEN    0          100                              *:8080                      *:*        
[root@tomcat apache-tomcat-10.0.6]# bin/shutdown.sh 
Using CATALINA_BASE:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@tomcat apache-tomcat-10.0.6]# ss -antl
State      Recv-Q      Send-Q            Local Address:Port            Peer Address:Port     
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           128                     0.0.0.0:10050                0.0.0.0:*        
LISTEN     0           128                        [::]:22                      [::]:*        
LISTEN     0           100                       [::1]:25                      [::]:*        
[root@tomcat apache-tomcat-10.0.6]# bin/startup.sh 
Using CATALINA_BASE:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@tomcat apache-tomcat-10.0.6]# ss -antl
State      Recv-Q      Send-Q            Local Address:Port            Peer Address:Port     
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           128                     0.0.0.0:10050                0.0.0.0:*        
LISTEN     0           128                        [::]:22                      [::]:*        
LISTEN     0           100                       [::1]:25                      [::]:*        
LISTEN     0           100                           *:8080                       *:*      

Tomcat目录结构

目录含义
conf/ tomcat配置文件
.. server.xml 主配置文件
.. web.xml 补充额外功能
.. tomcat-user.xml tomcat管理端配置文件 用户名 密码
logs 日志
.. catalina.out tomcat最全日志 查看error startup时间
.. catalina.data.log catalina.out切割日志
.. localhost_access_log_data.txt tomcat访问日志
webapps tomcat站点目录

Tomcat管理端

  • 搭建与测试的时候开启管理端 开启管理端
  • 生产环境 关闭管理端

开启管理端

//在文件尾部加上
[root@tomcat apache-tomcat-10.0.6]# vim conf/tomcat-users.xml 

-->
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>     <user username="tomcat" password="123456" roles="manager-gui,admin-gui"/>

 解除本地限制

[root@tomcat apache-tomcat-10.0.6]# find -type f -name "*.xml" | xargs grep '127'
./webapps/host-manager/META-INF/context.xml:         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
./webapps/host-manager/WEB-INF/manager.xml:         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
./webapps/manager/META-INF/context.xml:         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
[root@tomcat apache-tomcat-10.0.6]# sed -i.bak 's#127#\\d+#g' ./webapps/host-manager/META-INF/context.xml ./webapps/manager/META-INF/context.xml
[root@tomcat apache-tomcat-10.0.6]# bin/catalina.sh stop
Using CATALINA_BASE:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@tomcat apache-tomcat-10.0.6]# bin/catalina.sh start
Using CATALINA_BASE:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_HOME:   /usr/src/apache-tomcat-10.0.6
Using CATALINA_TMPDIR: /usr/src/apache-tomcat-10.0.6/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/src/apache-tomcat-10.0.6/bin/bootstrap.jar:/usr/src/apache-tomcat-10.0.6/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

 

posted @ 2021-05-13 18:15  cbcbage  阅读(89)  评论(0)    收藏  举报