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. LINUX内核分析第六周学习总结——进程的描述与创建

    LINUX内核分析第六周学习总结--进程的描述与创建 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc ...

  2. win10下安装GLPK

    认识GLPK GLPK是一个解决线性规划问题的工具.是GNU计划下一个用于解线性规 划(Linear Programming)的工具包.它可以方便的描述线性规划问题,并给出相应解. 因此在linux系 ...

  3. Sprint冲刺第二阶段之6---10天(下)

    11月24号——12月8号,这一个时间段学校的电压不是很稳定,时不时会断电,为了冲刺的完整性,我们商量决定把这一时间段做的事情写成一个连贯的小日记.然后统一在整个时间段一起发出来. 经过一个阶段的努力 ...

  4. TCP系列11—重传—1、TCP重传概述

    在最开始介绍TCP的时候,我们就介绍了TCP的三个特点,分别是面向连接.可靠.字节流式.前面内容我们已经介绍过了TCP的连接管理,接下来的这部分内容将会介绍与TCP可靠性强关联的TCP重传. 很多网络 ...

  5. PAT 1008 数组元素循环右移问题

    https://pintia.cn/problem-sets/994805260223102976/problems/994805316250615808 一个数组A中存有N(N&gt0)个整 ...

  6. VMware 桥接 Bridge 复制物理网络连接状态

    https://zhidao.baidu.com/question/535593443.html 意思就是说,VM上使用的是虚拟的网卡,也就是说VM虚拟机上的网卡不是真实存在的,而桥接还有其他的网路链 ...

  7. 使用telnet模拟http请求

    HTTP 首先我们需要知道http报文是由一系列的字符串组成的.然后我们来了解具体的相关事项. 方法 HTTP支持几种不同形式的请求命令,这些命令就被称为HTTP方法.每个HTTP请求报文都包含一个方 ...

  8. [转帖]nginx upstream模块--负载均衡

    nginx upstream模块--负载均衡 https://www.cnblogs.com/linjiqin/p/5494783.html Module ngx_http_upstream_modu ...

  9. java程序在windows系统作为服务程序运行

    Java程序很多情况下是作为服务程序运行的,在Un*x 平台下可以利用在命令后加“&”把程序作为后台服务运行,但在Windows下看作那个Console窗口在桌面上,你是否一直担心别的同时把你 ...

  10. Layui_Tree模块遍历HDFS

    注:转载请署名 一.实体 package com.ebd.application.common.Base; import java.util.List; public class HDFSDir { ...