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 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]#
[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]#
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 ~]#
[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端口访问如下:
本文来自博客园,作者:尹正杰,转载请注明原文链接:https://www.cnblogs.com/yinzhengjie/p/9499499.html,个人微信: "JasonYin2020"(添加时请备注来源及意图备注,有偿付费)
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。