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) -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部署实战的更多相关文章
- IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战
一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...
- Intellij Idea 2017创建web项目及tomcat部署实战
相关软件:Intellij Idea2017.jdk16.tomcat7 Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系 ...
- 【Intellij】Intellij Idea 2017创建web项目及tomcat部署实战
相关软件:Intellij Idea2017.jdk16.tomcat7 Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系 ...
- 6. Intellij Idea 2017创建web项目及tomcat部署实战
转自:https://www.cnblogs.com/shindo/p/7272646.html 相关软件:Intellij Idea2017.jdk16.tomcat7 Intellij Idea直 ...
- CentOS系统、Jdk、Tomcat安装实战
CentOS系统.Jdk.Tomcat安装实战 第一次接触Liunx系统,都说J2EE系统在Li ...
- Jenkins部署实战篇
Jenkins部署实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.持续集成理论 1>.开发写代码的演变过程 1.1>.一个开发单打独斗,撸代码,开发网站,自由 ...
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...
- Tomcat部署web应用程序
对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[替换ROOT目录] 最简单的一种方法,webapps目录下面ROOT文件夹的文件为你的文件,然后输入localhost:8080/首页 ...
- 如何制定tomcat部署时自己定义的docBase路径
装了tomcat后发现tomcat安装在系统跟路径地下,每次部署的时候挺麻烦的,于是想指定一个自己定义的应用部署的路径: 以下是如何指定,相关文档请查看https://tomcat.apache.or ...
随机推荐
- 我的Android之路——底部菜单栏的实现
底部菜单栏的实现 底部菜单栏两种实现方法:ViewPager:可滑动的界面:Fragment:固定的界面. 首先,页面布局,在除去顶部toolbar之后,将主界面分为两部分,一部分为界面显示区,另一部 ...
- 第三个spring冲刺第10天
进入最后阶段冲刺最后一天了,基本的需求已经完成了,最后的布局问题也解决了,我们的软件正式推出了.
- Prism6下的MEF:基于微软企业库的Cache
通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能.基于微软的企业库,我们的快速创建一个缓存的实现. 新建PrismSample.Infrastru ...
- Win2012r2 以及win2016 安装.NET3.5
自从微软的内核 6.2以上的版本之后 win2012 win2016 已经自带了 .net4.0的版本 但是很多应用还需要.net 3.5的版本,虽然微软的安装盘里面有 .net 3.5的安装文件,但 ...
- pandas.Series
1.系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组.轴标签统称为索引. Pandas系列可以使用以下构造函数创建 - pandas.Series ...
- .gitignore & .DS_Store
.gitignore & .DS_Store https://stackoverflow.com/questions/107701/how-can-i-remove-ds-store-file ...
- LODOP弹出对话框获取保存文件的路径
通常一般不会让用户自己在文本框里填上路径,因为路径要输入字母字符等比较麻烦,而且用户硬盘里文件很多,也不知道要保存在哪里,LODOP可以弹出一个选择保存路径的弹窗,然后把返回选择的路径值.这样用户就可 ...
- servlet表单的get和post方法的实现
几经周折,这个简单的小程序终于实现了,全新的编译环境和领域,适应起来有点慢,学习能力还是有待提高 使用IDEA2017.3.3创建简单的servlet程序: 1.创建一个项目 file - new p ...
- 【题解】 bzoj3450 JoyOI1952 Easy (期望dp)
题面戳我 Solution 期望的题目真心不太会 定义状态\(f[i]\)表示到第\(i\)期望长度,\(dp[i]\)表示期望分数 如果上一步的持续\(o\)长度为\(L\),那么贡献是\(L^2\ ...
- 洛谷 P2149 [SDOI2009]Elaxia的路线 解题报告
P2149 [SDOI2009]Elaxia的路线 题目描述 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间. Elaxia ...