• Tomcat部署实战


                              Tomcat部署实战

                                          作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.登录官网下载tomcat软件包(http://tomcat.apache.org/)

    1>.在安装tomcat之前需要安装jdk环境

    [root@yinzhengjie ~]# java -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    [root@yinzhengjie ~]# 

    2>.选择你需要的版本点击download

    3>.选择相应的版本

    二.部署tomcat

    1>.查看操作系统自带的tomcat版本

    [root@yinzhengjie download]# yum list all tomcat*
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.huaweicloud.com
     * extras: mirrors.huaweicloud.com
     * updates: mirrors.huaweicloud.com
    Available Packages
    tomcat.noarch                                                                                   7.0.76-6.el7                                                                    base   
    tomcat-admin-webapps.noarch                                                                     7.0.76-6.el7                                                                    base   
    tomcat-docs-webapp.noarch                                                                       7.0.76-6.el7                                                                    base   
    tomcat-el-2.2-api.noarch                                                                        7.0.76-6.el7                                                                    base   
    tomcat-javadoc.noarch                                                                           7.0.76-6.el7                                                                    base   
    tomcat-jsp-2.2-api.noarch                                                                       7.0.76-6.el7                                                                    base   
    tomcat-jsvc.noarch                                                                              7.0.76-6.el7                                                                    base   
    tomcat-lib.noarch                                                                               7.0.76-6.el7                                                                    base   
    tomcat-servlet-3.0-api.noarch                                                                   7.0.76-6.el7                                                                    base   
    tomcat-webapps.noarch                                                                           7.0.76-6.el7                                                                    base   
    tomcatjss.noarch                                                                                7.2.1-7.el7_5                                                                   updates
    [root@yinzhengjie download]# 

    2>.解压下载的tomcat以及目录tomcat目录介绍

    [root@yinzhengjie download]# ll
    total 9676
    -rw-r--r-- 1 root root 9904915 Sep  3 06:10 apache-tomcat-9.0.11.tar.gz
    [root@yinzhengjie download]# 
    [root@yinzhengjie download]# tar -zxf apache-tomcat-9.0.11.tar.gz -C /usr/local/
    [root@yinzhengjie download]# 
    [root@yinzhengjie download]# cd /usr/local/
    [root@yinzhengjie local]# 
    [root@yinzhengjie local]# ln -sv apache-tomcat-9.0.11 tomcat
    ‘tomcat’ -> ‘apache-tomcat-9.0.11’
    [root@yinzhengjie local]# 
    [root@yinzhengjie local]# cd tomcat/
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# ll
    total 128
    drwxr-x--- 2 root root  4096 Sep  3 18:17 bin                      #bin目录包含在不同模式下在启动tomcat的shell脚本或者批处理文件,同时还包括一些能够提高tomcat启动速度和JSP页面对于第一次启动相应速度的jar文件。
    -rw-r----- 1 root root 19197 Aug 11 15:50 BUILDING.txt
    drwx------ 2 root root  4096 Aug 11 15:50 conf                     #存放配置文件,其中核心配置文件是"server.xml"
    -rw-r----- 1 root root  6095 Aug 11 15:50 CONTRIBUTING.md
    drwxr-x--- 2 root root  4096 Sep  3 18:17 lib                      #存放各个组件的共享的各个类库
    -rw-r----- 1 root root 57092 Aug 11 15:50 LICENSE
    drwxr-x--- 2 root root     6 Aug 11 15:47 logs                      #存放日志文件
    -rw-r----- 1 root root  1807 Aug 11 15:50 NOTICE
    -rw-r----- 1 root root  3255 Aug 11 15:50 README.md
    -rw-r----- 1 root root  6855 Aug 11 15:50 RELEASE-NOTES
    -rw-r----- 1 root root 16262 Aug 11 15:50 RUNNING.txt
    drwxr-x--- 2 root root    29 Sep  3 18:17 temp                      #存放临时文件的目录
    drwxr-x--- 7 root root    76 Aug 11 15:48 webapps                    #存放web应用程序的目录
    drwxr-x--- 2 root root     6 Aug 11 15:47 work                      #tomcat的工作目录,临时文件存放在temp中,最终的结果存放在这个目录中。
    [root@yinzhengjie tomcat]# 

    3>.配置环境变量

    [root@yinzhengjie tomcat]# vi /etc/profile.d/tomcat.sh  
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# more /etc/profile.d/tomcat.sh   #编辑配置文件,指定tomcat的安装目录
    export TOMCAT_HOME=/usr/local/tomcat
    export PATH=$TOMCAT_HOME/bin:$PATH
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# . /etc/profile.d/tomcat.sh     #重新加载配置文件
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# catalina.sh version        #查看tomcat的版本
    Using CATALINA_BASE:   /usr/local/tomcat
    Using CATALINA_HOME:   /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Server version: Apache Tomcat/9.0.11
    Server built:   Aug 11 2018 19:47:23 UTC
    Server number:  9.0.11.0
    OS Name:        Linux
    OS Version:     3.10.0-327.el7.x86_64
    Architecture:   amd64
    JVM Version:    1.8.0_131-b11
    JVM Vendor:     Oracle Corporation
    [root@yinzhengjie tomcat]# 

    4>.catalina.sh命令介绍

    [root@yinzhengjie tomcat]# catalina.sh -help
    Using CATALINA_BASE:   /usr/local/tomcat
    Using CATALINA_HOME:   /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Usage: catalina.sh ( commands ... )
    commands:
      debug             Start Catalina in a debugger
      debug -security   Debug Catalina with a security manager
      jpda start        Start Catalina under JPDA debugger
      run               Start Catalina in the current window
      run -security     Start in the current window with security manager
      start             Start Catalina in a separate window
      start -security   Start in a separate window with security manager
      stop              Stop Catalina, waiting up to 5 seconds for the process to end
      stop n            Stop Catalina, waiting up to n seconds for the process to end
      stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
      stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running
      configtest        Run a basic syntax check on server.xml - check exit code for result
      version           What version of tomcat are you running?
    Note: Waiting for the process to end and use of the -force option require that $CATALINA_PID is defined
    [root@yinzhengjie tomcat]# 
    查看帮助信息([root@yinzhengjie tomcat]# catalina.sh -help)
    [root@yinzhengjie tomcat]# catalina.sh configtest
    Using CATALINA_BASE:   /usr/local/tomcat
    Using CATALINA_HOME:   /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server version:        Apache Tomcat/9.0.11
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server built:          Aug 11 2018 19:47:23 UTC
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server number:         9.0.11.0
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Name:               Linux
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Version:            3.10.0-327.el7.x86_64
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Architecture:          amd64
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Java Home:             /soft/jdk1.8.0_131/jre
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Version:           1.8.0_131-b11
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Vendor:            Oracle Corporation
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_BASE:         /usr/local/apache-tomcat-9.0.11
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_HOME:         /usr/local/apache-tomcat-9.0.11
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dignore.endorsed.dirs=
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.base=/usr/local/tomcat
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.home=/usr/local/tomcat
    Sep 03, 2018 6:37:21 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
    Sep 03, 2018 6:37:21 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
    Sep 03, 2018 6:37:22 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-nio-8080"]
    Sep 03, 2018 6:37:22 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    INFO: Using a shared selector for servlet write/read
    Sep 03, 2018 6:37:22 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
    Sep 03, 2018 6:37:22 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    INFO: Using a shared selector for servlet write/read
    Sep 03, 2018 6:37:22 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 1864 ms
    [root@yinzhengjie tomcat]# 
    检查tomcat配置文件语法是否存在问题([root@yinzhengjie tomcat]# catalina.sh configtest)
    [root@yinzhengjie 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:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Tomcat started.
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# netstat -untalp | grep 80        #注意,tomcat程序的名称应该是java
    tcp6       0      0 :::8009                 :::*                    LISTEN      2711/java           
    tcp6       0      0 :::8080                 :::*                    LISTEN      2711/java           
    tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2711/java           
    [root@yinzhengjie tomcat]# 
    启动tomcat([root@yinzhengjie tomcat]# catalina.sh start)

    5>.启动tomcat

    [root@yinzhengjie 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:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Tomcat started.
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# netstat -untalp | grep tomcat
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# netstat -untalp | grep 80
    tcp6       0      0 :::8009                 :::*                    LISTEN      2711/java           
    tcp6       0      0 :::8080                 :::*                    LISTEN      2711/java           
    tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2711/java           
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# 

       查看web界面如下:

    6>.停止tomcat

    [root@yinzhengjie tomcat]# netstat -untalp | grep 80
    tcp6       0      0 :::8009                 :::*                    LISTEN      2711/java           
    tcp6       0      0 :::8080                 :::*                    LISTEN      2711/java           
    tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2711/java           
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie 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:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# 
    [root@yinzhengjie tomcat]# netstat -untalp | grep 80
    tcp6       0      0 ::1:36986               ::1:8009                TIME_WAIT   -                   
    tcp6       0      0 ::1:38273               ::1:8080                TIME_WAIT   -                   
    tcp6       0      0 127.0.0.1:45674         127.0.0.1:8005          TIME_WAIT   -                   
    [root@yinzhengjie tomcat]# 

    三.Tomcat的架构

    1>.Tomcat 的嵌套层次

      Tomcat 支持Servlet 和JSP 的规范,它由一组嵌套的层次和组件组成,一般可分为以下四类:
        顶级组件:位于配置层次的顶级,并且彼此间有着严格的对应关系;
        连接器:连接客户端(可以是浏览器或Web服务器)请求至Servlet容器,
        容器:包含一组其它组件;
        被嵌套的组件:位于一个容器当中,但不能包含其它组件;

    <server>                        #服务器(server):Tomcat的一个实例,通常一个JVM只能包含一个Tomcat实例;因此,一台物理服务器上可以在启动多个JVM的情况下在每一个JVM中启动一个Tomcat实例,每个实例分属于一个独立的管理端口。这是一个顶级组件。
        
        <service>                    #服务(service):一个服务组件通常包含一个引擎和与此引擎相关联的一个或多个连接器。给服务命名可以方便管理员在日志文件中识别不同服务产生的日志。一个server可以包含多个service组件,但通常情下只为一个service指派一个server。
                
                <connector />        #连接器(connectors):负责连接客户端(可以是浏览器或Web服务器)请求至Servlet容器内的Web应用程序,通常指的是接收客户发来请求的位置及服务器端分配的端口。默认端口通常是HTTP协议的8080,管理员也可以根据自己的需要改变此端口。一个引擎可以配置多个连接器,但这些连接器必须使用不同的端口。默认的连接器是基于HTTP/1.1的Coyote。同时,Tomcat也支持AJP、JServ和JK2连接器。
                
                <engine>            #引擎(Engine):引擎通是指处理请求的Servlet引擎组件,即Catalina Servlet引擎,它检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个host或context,并将请求处理后的结果返回的相应的客户端。严格意义上来说,容器不必非得通过引擎来实现,它也可以是只是一个容器。如果Tomcat被配置成为独立服务器,默认引擎就是已经定义好的引擎。而如果Tomcat被配置为Apache Web服务器的提供Servlet功能的后端,默认引擎将被忽略,因为Web服务器自身就能确定将用户请求发往何处。一个引擎可以包含多个host组件。
                
                    <host>            #主机(Host):主机组件类似于Apache中的虚拟主机,但在Tomcat中只支持基于FQDN的“虚拟主机”。一个引擎至少要包含一个主机组件。
                    
                        <context>    #上下文(Context):Context组件是最内层次的组件,它表示Web应用程序本身。配置一个Context最主要的是指定Web应用程序的根目录,以便Servlet容器能够将用户请求发往正确的位置。Context组件也可包含自定义的错误页,以实现在用户访问发生错误时提供友好的提示信息。
    
                        </context>
                    </host>
                    <host>
                    </host>
                </engine>
        </service>
    </server>

    2>.各常见组件

    顶级组件:
    表示一个运行于JVM中的tomcat实例。
    1
    、服务器(server):Tomcat的一个实例,通常一个JVM只能包含一个Tomcat实例;因此,一台物理服务器上可以在启动多个JVM的情况下在每一个JVM中启动一个Tomcat实例,每个实例分属于一个独立的管理端口。这是一个顶级组件。 2、服务(service):一个服务组件通常包含一个引擎和与此引擎相关联的一个或多个连接器。给服务命名可以方便管理员在日志文件中识别不同服务产生的日志。一个server可以包含多个service组件,但通常情下只为一个service指派一个server。 连接器类组件: 3、连接器(connectors):负责连接客户端(可以是浏览器或Web服务器)请求至Servlet容器内的Web应用程序,通常指的是接收客户发来请求的位置及服务器端分配的端口。默认端口通常是HTTP协议的8080,管理员也可以根据自己的需要改变此端口。一个引擎可以配置多个连接器,但这些连接器必须使用不同的端口。默认的连接器是基于HTTP/1.1的Coyote。同时,Tomcat也支持AJP、JServ和JK2连接器。 容器类组件: 4、引擎(Engine):引擎通是指处理请求的Servlet引擎组件,即Catalina Servlet引擎,它检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个host或context,并将请求处理后的结果返回的相应的客户端。严格意义上来说,容器不必非得通过引擎来实现,它也可以是只是一个容器。如果Tomcat被配置成为独立服务器,默认引擎就是已经定义好的引擎。而如果Tomcat被配置为Apache Web服务器的提供Servlet功能的后端,默认引擎将被忽略,因为Web服务器自身就能确定将用户请求发往何处。一个引擎可以包含多个host组件。 5、主机(Host):主机组件类似于Apache中的虚拟主机,但在Tomcat中只支持基于FQDN的“虚拟主机”。一个引擎至少要包含一个主机组件。 6、上下文(Context):Context组件是最内层次的组件,它表示Web应用程序本身。配置一个Context最主要的是指定Web应用程序的根目录,以便Servlet容器能够将用户请求发往正确的位置。Context组件也可包含自定义的错误页,以实现在用户访问发生错误时提供友好的提示信息。 被嵌套类(nested)组件: 这类组件通常包含于容器类组件中以提供具有管理功能的服务,它们不能包含其它组件,但有些却可以由不同层次的容器各自配置。 7、阀门(Valve):用来拦截请求并在将其转至目标之前进行某种处理操作,类似于Servlet规范中定义的过滤器。Valve可以定义在任何容器类的组件中。Valve常被用来记录客户端请求、客户端IP地址和服务器等信息,这种处理技术通常被称作请求转储(request dumping)。请求转储valve记录请求客户端请求数据包中的HTTP首部信息和cookie信息文件中,响应转储valve则记录响应数据包首部信息和cookie信息至文件中。 8、日志记录器(Logger):用于记录组件内部的状态信息,可被用于除Context之外的任何容器中。日志记录的功能可被继承,因此,一个引擎级别的Logger将会记录引擎内部所有组件相关的信息,除非某内部组件定义了自己的Logger组件。 9、领域(Realm):用于用户的认证和授权;在配置一个应用程序时,管理员可以为每个资源或资源组定义角色及权限,而这些访问控制功能的生效需要通过Realm来实现。Realm的认证可以基于文本文件、数据库表、LDAP服务等来实现。Realm的效用会遍及整个引擎或顶级容器,因此,一个容器内的所有应用程序将共享用户资源。同时,Realm可以被其所在组件的子组件继承,也可以被子组件中定义的Realm所覆盖。 引擎(Engine):引擎是指处理请求的Servlet引擎组件,即Catalina Servlet引擎,它从HTTPconnector接收请求并响应请求。它检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个host或context,并将请求处理后的结果返回的相应的客户端。严格意义上来说,容器不必非得通过引擎来实现,它也可以是只是一个容器。如果Tomcat被配置成为独立服务器,默认引擎就是已经定义好的引擎。而如果Tomcat被配置为Apache Web服务器的提供Servlet功能的后端,默认引擎将被忽略,因为Web服务器自身就能确定将用户请求发往何处。一个引擎可以包含多个host组件。

    3>.各个组件关系图解说明

    4>.添加连接器(需要编辑tomcat的配置文件:[root@yinzhengjie ~]# vi /usr/local/tomcat/conf/server.xml)

     

    5>.重启tomcat服务器

    [root@yinzhengjie ~]# catalina.sh configtest
    Using CATALINA_BASE:   /usr/local/tomcat
    Using CATALINA_HOME:   /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server version:        Apache Tomcat/9.0.11
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server built:          Aug 11 2018 19:47:23 UTC
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server number:         9.0.11.0
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Name:               Linux
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Version:            3.10.0-327.el7.x86_64
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Architecture:          amd64
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Java Home:             /soft/jdk1.8.0_131/jre
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Version:           1.8.0_131-b11
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Vendor:            Oracle Corporation
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_BASE:         /usr/local/apache-tomcat-9.0.11
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_HOME:         /usr/local/apache-tomcat-9.0.11
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dignore.endorsed.dirs=
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.base=/usr/local/tomcat
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.home=/usr/local/tomcat
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
    Sep 03, 2018 8:02:23 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
    Sep 03, 2018 8:02:23 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-nio-8080"]
    Sep 03, 2018 8:02:23 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    INFO: Using a shared selector for servlet write/read
    Sep 03, 2018 8:02:23 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-nio-80"]
    Sep 03, 2018 8:02:23 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    INFO: Using a shared selector for servlet write/read
    Sep 03, 2018 8:02:23 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
    Sep 03, 2018 8:02:23 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    INFO: Using a shared selector for servlet write/read
    Sep 03, 2018 8:02:23 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 446 ms
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# echo $?
    0
    [root@yinzhengjie ~]# 
    先检查是否有tomcat的配置文件是否有语法错误([root@yinzhengjie ~]# catalina.sh configtest)
    [root@yinzhengjie ~]# 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:        /soft/jdk
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Tomcat started.
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# netstat -untalp | grep 80
    tcp6       0      0 :::8009                 :::*                    LISTEN      2981/java              #目前正在使用的AJP协议的版本是通过JK和JK2连接器提供支持的AJP13,它基于二进制的格式在Web服务器(httpd)和Tomcat之间传输数据,而此前的版本AJP10和AJP11则使用文本格式传输数据。它的传输效率要比http要高的,还有就是nginx是不支持这种协议的,因此nginx的反向代理仅仅支持http协议。
    tcp6       0      0 :::80                   :::*                    LISTEN      2981/java             #在个我们刚刚修改连接器套接字,让其监听端口为80
    tcp6       0      0 :::8080                 :::*                    LISTEN      2981/java             #这个是tomcat的默认的监听端口。
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# 

    6>.web界面登录测试

      8080端口访问情况如下:

      80端口访问如下:

  • 相关阅读:
    Java的三种代理模式
    关于C# 中的Attribute 特性
    jvm虚拟机原理1
    Java和C#中的接口对比(有你不知道的东西)
    c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)
    Java运行时,各种类型存储介绍
    Java中的内存处理机制和final、static、final static总结
    Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】
    C#有关的vshost、exe、config格式说明
    C#中的程序集和命名空间
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/9499499.html
Copyright © 2020-2023  润新知