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) -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.-.el7 base
tomcat-admin-webapps.noarch 7.0.-.el7 base
tomcat-docs-webapp.noarch 7.0.-.el7 base
tomcat-el-2.2-api.noarch 7.0.-.el7 base
tomcat-javadoc.noarch 7.0.-.el7 base
tomcat-jsp-2.2-api.noarch 7.0.-.el7 base
tomcat-jsvc.noarch 7.0.-.el7 base
tomcat-lib.noarch 7.0.-.el7 base
tomcat-servlet-3.0-api.noarch 7.0.-.el7 base
tomcat-webapps.noarch 7.0.-.el7 base
tomcatjss.noarch 7.2.-.el7_5 updates
[root@yinzhengjie download]#

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

[root@yinzhengjie download]# ll
total
-rw-r--r-- root root Sep : apache-tomcat-9.0..tar.gz
[root@yinzhengjie download]#
[root@yinzhengjie download]# tar -zxf apache-tomcat-9.0..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. tomcat
‘tomcat’ -> ‘apache-tomcat-9.0.’
[root@yinzhengjie local]#
[root@yinzhengjie local]# cd tomcat/
[root@yinzhengjie tomcat]#
[root@yinzhengjie tomcat]# ll
total
drwxr-x--- root root Sep : bin                      #bin目录包含在不同模式下在启动tomcat的shell脚本或者批处理文件,同时还包括一些能够提高tomcat启动速度和JSP页面对于第一次启动相应速度的jar文件。
-rw-r----- root root Aug : BUILDING.txt
drwx------ root root Aug : conf                     #存放配置文件,其中核心配置文件是"server.xml"
-rw-r----- root root Aug : CONTRIBUTING.md
drwxr-x--- root root Sep : lib                      #存放各个组件的共享的各个类库
-rw-r----- root root Aug : LICENSE
drwxr-x--- root root Aug : logs                      #存放日志文件
-rw-r----- root root Aug : NOTICE
-rw-r----- root root Aug : README.md
-rw-r----- root root Aug : RELEASE-NOTES
-rw-r----- root root Aug : RUNNING.txt
drwxr-x--- root root Sep : temp                      #存放临时文件的目录
drwxr-x--- root root Aug : webapps                    #存放web应用程序的目录
drwxr-x--- root root Aug : 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.
Server built: Aug :: UTC
Server number: 9.0.11.0
OS Name: Linux
OS Version: 3.10.-.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 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 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 , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/9.0.
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Aug :: UTC
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 9.0.11.0
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Linux
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 3.10.-.el7.x86_64
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: /soft/jdk1..0_131/jre
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_131-b11
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: /usr/local/apache-tomcat-9.0.
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: /usr/local/apache-tomcat-9.0.
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dignore.endorsed.dirs=
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/usr/local/tomcat
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/usr/local/tomcat
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
Sep , :: 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 , :: PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Sep , :: PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep , :: PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Sep , :: PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep , :: PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 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 #注意,tomcat程序的名称应该是java
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java
tcp6 127.0.0.1: :::* LISTEN /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
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java
tcp6 127.0.0.1: :::* LISTEN /java
[root@yinzhengjie tomcat]#
[root@yinzhengjie tomcat]#

  查看web界面如下:

6>.停止tomcat

[root@yinzhengjie tomcat]# netstat -untalp | grep
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java
tcp6 127.0.0.1: :::* LISTEN /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
tcp6 ::: ::: TIME_WAIT -
tcp6 ::: ::: TIME_WAIT -
tcp6 127.0.0.1: 127.0.0.1: 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的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实例,每个实例分属于一个独立的管理端口。这是一个顶级组件。
、服务(service):一个服务组件通常包含一个引擎和与此引擎相关联的一个或多个连接器。给服务命名可以方便管理员在日志文件中识别不同服务产生的日志。一个server可以包含多个service组件,但通常情下只为一个service指派一个server。 连接器类组件:
、连接器(connectors):负责连接客户端(可以是浏览器或Web服务器)请求至Servlet容器内的Web应用程序,通常指的是接收客户发来请求的位置及服务器端分配的端口。默认端口通常是HTTP协议的8080,管理员也可以根据自己的需要改变此端口。一个引擎可以配置多个连接器,但这些连接器必须使用不同的端口。默认的连接器是基于HTTP/.1的Coyote。同时,Tomcat也支持AJP、JServ和JK2连接器。 容器类组件:
、引擎(Engine):引擎通是指处理请求的Servlet引擎组件,即Catalina Servlet引擎,它检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个host或context,并将请求处理后的结果返回的相应的客户端。严格意义上来说,容器不必非得通过引擎来实现,它也可以是只是一个容器。如果Tomcat被配置成为独立服务器,默认引擎就是已经定义好的引擎。而如果Tomcat被配置为Apache Web服务器的提供Servlet功能的后端,默认引擎将被忽略,因为Web服务器自身就能确定将用户请求发往何处。一个引擎可以包含多个host组件。
、主机(Host):主机组件类似于Apache中的虚拟主机,但在Tomcat中只支持基于FQDN的“虚拟主机”。一个引擎至少要包含一个主机组件。
、上下文(Context):Context组件是最内层次的组件,它表示Web应用程序本身。配置一个Context最主要的是指定Web应用程序的根目录,以便Servlet容器能够将用户请求发往正确的位置。Context组件也可包含自定义的错误页,以实现在用户访问发生错误时提供友好的提示信息。 被嵌套类(nested)组件:
这类组件通常包含于容器类组件中以提供具有管理功能的服务,它们不能包含其它组件,但有些却可以由不同层次的容器各自配置。
、阀门(Valve):用来拦截请求并在将其转至目标之前进行某种处理操作,类似于Servlet规范中定义的过滤器。Valve可以定义在任何容器类的组件中。Valve常被用来记录客户端请求、客户端IP地址和服务器等信息,这种处理技术通常被称作请求转储(request dumping)。请求转储valve记录请求客户端请求数据包中的HTTP首部信息和cookie信息文件中,响应转储valve则记录响应数据包首部信息和cookie信息至文件中。
、日志记录器(Logger):用于记录组件内部的状态信息,可被用于除Context之外的任何容器中。日志记录的功能可被继承,因此,一个引擎级别的Logger将会记录引擎内部所有组件相关的信息,除非某内部组件定义了自己的Logger组件。
、领域(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 , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/9.0.
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Aug :: UTC
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 9.0.11.0
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Linux
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 3.10.-.el7.x86_64
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: /soft/jdk1..0_131/jre
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_131-b11
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: /usr/local/apache-tomcat-9.0.
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: /usr/local/apache-tomcat-9.0.
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dignore.endorsed.dirs=
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/usr/local/tomcat
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/usr/local/tomcat
Sep , :: PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
Sep , :: 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 , :: PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Sep , :: PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep , :: PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-80"]
Sep , :: PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep , :: PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Sep , :: PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep , :: PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in ms
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# echo $? [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
tcp6 ::: :::* LISTEN /java #目前正在使用的AJP协议的版本是通过JK和JK2连接器提供支持的AJP13,它基于二进制的格式在Web服务器(httpd)和Tomcat之间传输数据,而此前的版本AJP10和AJP11则使用文本格式传输数据。它的传输效率要比http要高的,还有就是nginx是不支持这种协议的,因此nginx的反向代理仅仅支持http协议。
tcp6              :::                   :::*                    LISTEN      /java             #在个我们刚刚修改连接器套接字,让其监听端口为80
tcp6 ::: :::* LISTEN /java   #这个是tomcat的默认的监听端口。
[root@yinzhengjie ~]#
[root@yinzhengjie ~]#

6>.web界面登录测试

  8080端口访问情况如下:

  80端口访问如下:

Tomcat部署实战的更多相关文章

  1. IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战

    一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...

  2. Intellij Idea 2017创建web项目及tomcat部署实战

    相关软件:Intellij Idea2017.jdk16.tomcat7 Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系 ...

  3. 【Intellij】Intellij Idea 2017创建web项目及tomcat部署实战

    相关软件:Intellij Idea2017.jdk16.tomcat7 Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系 ...

  4. 6. Intellij Idea 2017创建web项目及tomcat部署实战

    转自:https://www.cnblogs.com/shindo/p/7272646.html 相关软件:Intellij Idea2017.jdk16.tomcat7 Intellij Idea直 ...

  5. CentOS系统、Jdk、Tomcat安装实战

    CentOS系统.Jdk.Tomcat安装实战                                                     第一次接触Liunx系统,都说J2EE系统在Li ...

  6. Jenkins部署实战篇

    Jenkins部署实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.持续集成理论 1>.开发写代码的演变过程 1.1>.一个开发单打独斗,撸代码,开发网站,自由 ...

  7. Tomcat部署web项目,如何直接通过域名访问,不加项目名称

    问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...

  8. Tomcat部署web应用程序

    对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[替换ROOT目录] 最简单的一种方法,webapps目录下面ROOT文件夹的文件为你的文件,然后输入localhost:8080/首页 ...

  9. 如何制定tomcat部署时自己定义的docBase路径

    装了tomcat后发现tomcat安装在系统跟路径地下,每次部署的时候挺麻烦的,于是想指定一个自己定义的应用部署的路径: 以下是如何指定,相关文档请查看https://tomcat.apache.or ...

随机推荐

  1. 冲刺Two之站立会议10

    今天是最后一次站立会议,我们为自己软件最终版的发布进行了讨论,针对项目开发过程中出现的问题进行了总结.并讨论了之后软件如何发布和推广.

  2. GCP试用到期再申请

    目标 GCP的免费试用到期了.网传可以续用,看了教程,记录下来. 法一 应该可以直接用一个新gmail账号的.这个方法的难点可能在于注册新账号有门槛.我有一个很久以前注册过的,试着找回了密码,登入GC ...

  3. jQuery中click事件多次触发解决方案

    jQuery 中元素的click事件中绑定其他元素的click事件. 因为jQuery中的click事件会累计绑定,导致事件注册越来越多. 解决方案: 1.能够避开,避免把click事件绑定到其他元素 ...

  4. Delphi7通过superobject解析JSON

    1.通过delphi程序访问PHP事先写好的webservice(查询功能),webservice返回json格式数据. 2.通过superobject读取json数据 得到效果如下: //深层级的访 ...

  5. Android控件第4类——ProgressBar

    ProgressBar是进度条,是比较常用的控件.它有一个抽象的子类——AbsSeekBar,AbsSeekBar有两个比较常用子类,SeekBar.RatingBar. 1.ProgressBar, ...

  6. JavaScript DOM方法表格添加删除

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  7. C++ 动态内存分配(6种情况,好几个例子)

    1.堆内存分配 : C/C++定义了4个内存区间: 代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store). 堆的概念: 通常定义变量(或对 ...

  8. hive web界面管理

    老版本使用 访问<Hive Server Address>:9999/hwi 1.首先下载对应版本的src文件,本机使用apache-hive-1.2.2-src.tar.gz 2.解压缩 ...

  9. python拉格朗日插值

    #拉格朗日插值代码 import pandas as pd #导入数据分析库Pandas from scipy.interpolate import lagrange #导入拉格朗日插值函数 inpu ...

  10. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件

    前面的教程中,我们已经可以让小海龟绘制出各种图形了.但是,所有绘图的代码都是预先编好的,程序一旦运行起来,运行结果(绘制的图形)就是固定不变的.这一节中,咪博士将教大家如何让海龟响应用户的输入. im ...