16.1 Tomcat介绍

 

tomcat是一个中间件,用于运行java语言开发的网站

java网站通常使用tomcat+jdk来解析,其中真正起作用的是jdk

tomcatapache软件基金会的一个项目

jdk

jdk是整个java的核心,包含了java运行环境和一堆java相关的工具以及java基础库

目前主流的jdkoracle公司发布的jdk,除此之外IBM公司也有发布jdk

Centosubuntu等系统上也可以yum安装开源的openjdkyum安装完后可以直接使用

.jsp的网页由jdk解析

 

16.2 安装jdk

 

Tomcat正常启动需要依赖jdk的环境变量

Jdk主流版本1.6/1.7/1.8

 

下载jdk

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm

 

需要同喜jdk的用户协议才能下载;

无法直接wget该网址下载;

注意下载64位的包;

 

下载完成后用xftp将文件传到linux/usr/local/src

 

解压安装包

[root@hyc-01-01 src]# tar zxvf jdk-8u181-linux-x64.tar.gz

[root@hyc-01-01 src]# du -sh jdk1.8.0_181

368M       jdk1.8.0_181

 

移动解压后的文件并改名

[root@hyc-01-01 src]# mv jdk1.8.0_181 /usr/local/jdk1.8

 

设置环境变量

[root@hyc-01-01 local]# vi /etc/profile

JAVA_HOME=/usr/local/jdk1.8/

JAVA_BIN=/usr/local/jdk1.8/bin

JRE_HOME=/usr/local/jdk1.8/jre

PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin

CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar

在文件/etc/profile的最后定义以上的环境变量

[root@hyc-01-01 local]# source /etc/profile

使新定义的环境变量生效

 

检查jdk是否安装成功

[root@hyc-01-01 local]# java -version

java version "1.8.0_181" 版本号与包的版本号一致说明安装成功

Java(TM) SE Runtime Environment (build 1.8.0_181-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

执行java –version后出现的数字和下载安装的版本不一致:

其他的版本包括1.6.*1.7.*1.8的其他版本或openjdk的版本

此时需要搜索是否安装了其他版本的jdk

[root@hyc-01-01 ~]# rpm -qa |grep openjdk

如果确实安装了其他版本的jdk则:

实验环境下,没有其他服务,则可以直接将该包卸载

生产环境下,java –version结果显示其他版本jdkrpm –qa结果中出现openjdk,则不能随便卸载,因为可能有其他程序在使用openjdk

 

[root@hyc-01-01 ~]# yum list 列出可用的包

[root@hyc-01-01 ~]# rpm –qa 列出所有已安装的包

[root@hyc-01-01 ~]# rpm –q 包名 查询某个包是否被安装

 

16.3 安装Tomcat

 

没有tomcat则无法正常监听808080端口,tomcat作为一个webserver必须存在

 

下载tomcat

[root@hyc-01-01 ~]# cd /usr/local/src

[root@hyc-01-01 src]# ls apache-tomcat-8.5.33.tar.gz

apache-tomcat-8.5.33.tar.gz

 

解压

[root@hyc-01-01 src]# tar zxvf apache-tomcat-8.5.33.tar.gz

 

移动并改名

[root@hyc-01-01 src]# mv apache-tomcat-8.5.33 /usr/local/tomcat

 

启动tomcat

二进制源码包不需要编译

[root@hyc-01-01 src]# mv apache-tomcat-8.5.33 /usr/local/tomcat

[root@hyc-01-01 src]# /usr/local/tomcat/bin/startup.sh

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/local/jdk1.8

Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

[root@hyc-01-01 src]# ps aux |grep java 此时说明tomcat已正常启动

root      3185  9.3  8.1 2296248 82228 pts/0   Sl   22:19   0:04 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

root      3229  0.0  0.0 112720   980 pts/0    R+   22:19   0:00 grep --color=auto java

 

关闭tomcat

[root@hyc-01-01 src]# /usr/local/tomcat/bin/shutdown.sh

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/local/jdk1.8

Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[root@hyc-01-01 src]# ps aux |grep java

root      3260  0.0  0.0 112720   980 pts/0    R+   22:24   0:00 grep --color=auto java

 

tomcat服务不支持restart,重启服务时需先shutdown服务再start服务

tomcat监听三个端口:

[root@hyc-01-01 src]# netstat -lntp|grep java

tcp6       0      0 :::8080                 :::*                    LISTEN      3276/java          

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      3276/java          

tcp6       0      0 :::8009                 :::*                    LISTEN      3276/java 

其中8080为提供web服务的端口

通过浏览器访问该端口后弹出的界面有很多tomcat文档的相关链接

8.29 16.1-16.3_介绍

8005为管理端口,有时该端口启动较慢

8009是第三方服务调用的端口,如httpdtomcat相结合时会用到