• tomcat


    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 服务器是一个免费的开放源代码的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是一个用来运行java的容器,是常用中间件之一

    • tomcat组件

    tomcat组件

    tomcat的安装及启动

    //关闭防火墙和selinux上下文
    [root@DR ~]# systemctl stop firewalld.service 
    [root@DR ~]# setenforce 0
    
    //java环境安装
    [root@DR ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
    [root@DR ~]# 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)
    
    //下载包
    [root@DR ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-10/v10.0.6/bin/apache-tomcat-10.0.6.tar.gz
    [root@DR ~]# tar xf apache-tomcat-10.0.6.tar.gz  -C /usr/local/
    [root@DR ~]# cd /usr/local/apache-tomcat-10.0.6/
    [root@DR apache-tomcat-10.0.6]# bin/catalina.sh start
    [root@DR 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      1       [::ffff:127.0.0.1]:8005              *:*                                                            
    LISTEN 0      100                      *:8080              *:*                                                            
    LISTEN 0      128                   [::]:22             [::]:*                
    [root@DR apache-tomcat-10.0.6]# ps -ef|grep   tomcat
    root        2137       1  2 11:06 pts/1    00:00:06 /usr/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-10.0.6/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 /root/apache-tomcat-10.0.6/bin/bootstrap.jar:/root/apache-tomcat-10.0.6/bin/tomcat-juli.jar -Dcatalina.base=/root/apache-tomcat-10.0.6 -Dcatalina.home=/root/apache-tomcat-10.0.6 -Djava.io.tmpdir=/root/apache-tomcat-10.0.6/temp org.apache.catalina.startup.Bootstrap start
    root        2596    1967  0 11:10 pts/1    00:00:00 grep --color=auto tomcat
    
    

    访问

    部署测试网页

    [root@DR apache-tomcat-10.0.6]# cd webapps/
    //创建测试网页和目录
    [root@DR webapps]# mkdir test 
    [root@DR webapps]# vim test/index.jsp
    [root@DR webapps]# cat test/index.jsp 
    <html>
    <head>
            <title>test page</title>
    </head>
    <body>
            <%
                out.println("Hello World");
            %>
    </body>
    </html>
    
    //重启服务
    [root@DR webapps]# cd
    [root@DR ~]# ./apache-tomcat-10.0.6/bin/catalina.sh stop
    [root@DR ~]# ./apache-tomcat-10.0.6/bin/catalina.sh start
    
    

    测试访问

    部分目录内容及配置

    [root@DR apache-tomcat-10.0.6]# ll bin/
    ...
    catalina.sh #tomcat服务控制
    configtest.sh	#配置文件测试
    daemon.sh #守护进程
    [root@DR apache-tomcat-10.0.6]# ll
    total 132
    drwxr-x--- 2 root root  4096 May 13 10:48 bin #二进程命令存放
    -rw-r----- 1 root root 18975 May  8 23:24 BUILDING.txt
    drwx------ 3 root root   254 May 13 11:49 conf	#配置文件
    -rw-r----- 1 root root  5644 May  8 23:24 CONTRIBUTING.md
    drwxr-x--- 2 root root  4096 May 13 10:37 lib #库文件存放
    -rw-r----- 1 root root 60269 May  8 23:24 LICENSE
    drwxr-x--- 2 root root   132 May 13 11:06 logs	#日志存放
    -rw-r----- 1 root root  2333 May  8 23:24 NOTICE
    -rw-r----- 1 root root  3372 May  8 23:24 README.md
    -rw-r----- 1 root root  6904 May  8 23:24 RELEASE-NOTES
    -rw-r----- 1 root root 16517 May  8 23:24 RUNNING.txt
    drwxr-x--- 2 root root    30 May 13 10:37 temp
    drwxr-x--- 7 root root    81 May  8 23:24 webapps #项目存放位置
    drwxr-x--- 3 root root    22 May 13 11:06 work
    
    
    [root@DR apache-tomcat-10.0.6]# vim conf/server.xml 
    ...//控制端口协议
    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    //AJP协议控制
        -->
    
        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <!--
        <Connector protocol="AJP/1.3"
                   address="::1"
                   port="8009"
                   redirectPort="8443" />
        -->
    
    

    图形化管理界面配置

    [root@DR 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"/> #添加用户密码
    </tomcat-users>
    
    //添加允许访问ip段
    [root@DR apache-tomcat-10.0.6]# vim webapps/host-manager/META-INF/context.xml 
    ...
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="192.168.94.d+|127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />#放行192.168.94网段
    		 
    [root@DR apache-tomcat-10.0.6]# vim webapps/manager/META-INF/context.xml 
    ...
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="d+.d+.d+.d+|::1|0:0:0:0:0:0:0:1" /> #放行所有网段
    
    //重启服务
    [root@DR apache-tomcat-10.0.6]# ./bin/catalina.sh stop
    [root@DR apache-tomcat-10.0.6]# ./bin/catalina.sh start
    

    image
    image

  • 相关阅读:
    JAVA代码覆盖率工具JaCoCo-原理篇
    (转载)比较web ui 框架
    sql拼接
    解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large问题
    字符串中重复出现字符串个数
    Unable to load annotation processor factory
    三目运算符
    WSGI剖析
    深入剖析cpp对象模型
    Cpp下匿名对象探究
  • 原文地址:https://www.cnblogs.com/fangxinxin/p/14766102.html
Copyright © 2020-2023  润新知