16.1 Tomcat介绍
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他的一些公司以及个人共同开发而成。
Java程序写的网站要使用tomcat+jdk来运行。
tomcat是一个中间件,真正起作用的解析java脚本的是jdk。
jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库。
最主流的jdk为sun公司发布的jdk,除此之外,其实IBM公司也有发布JDK,CentOS上也可以用yum安装openjdk。
下面我们安装jdk,下载一个网站并部署一个站点。
16.2 安装jdk
我们使用的是jdk1.8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择适合自己的包下载并解压
[root@localhost: src]# tar zxf jdk-8u181-linux-x64.tar.gz
[root@localhost: src]# cd jdk1.8.0_181/
[root@localhost: jdk1.8.0_181]# ls
bin COPYRIGHT include javafx-src.zip jre lib LICENSE man README.html release src.zip THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt
然后把解压之后的包直接移动到我们的/usr/local目录下,因为不需要make安装
[root@localhost: src]# mv jdk1.8.0_181/ /usr/local/jdk1.8/
然后配置环境变量,编辑/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
测试一下,重新加载配置文件,已经可以使用了
[root@localhost: local]# vim /etc/profile
[root@localhost: local]# source !$
source /etc/profile
[root@localhost: 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)
如果发现版本和安装的不一致,可以检查一下是否安装了openjdk,如果是线上的服务器,正在使用openjdk的时候也不要轻易的卸载。
[root@localhost: local]# rpm -qa | grep openjdk
[root@localhost: local]#
16.3 安装Tomcat
tomcat可以帮助java网站后台监听80或者8080端口,是一个中间件。
首先下载tomcat,下面网址失效的话可以在这里找到。
[root@localhost: local]# cd /usr/local/src/
[root@localhost: src]# wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.33/bin/apache-tomcat-8.5.33.tar.gz
列出目录
[root@localhost: src]# tar zxf apache-tomcat-8.5.33.tar.gz
[root@localhost: src]# cd apache-tomcat-8.5.33/
[root@localhost: apache-tomcat-8.5.33]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
这个包也不需要安装,直接移到/usr/local下
[root@localhost: src]# mv apache-tomcat-8.5.33/ /usr/local/
[root@localhost: src]# cd /usr/local/
[root@localhost: local]# ls
apache2 apache-tomcat-8.5.33 apr apr1.6 bin etc games gcc-5.5.0 include jdk1.8 lib lib64 libexec mysql sbin share src
[root@localhost: local]# mv apache-tomcat-8.5.33/ ./tomcat/
[root@localhost: local]# ls
apache2 apr apr1.6 bin etc games gcc-5.5.0 include jdk1.8 lib lib64 libexec mysql sbin share src tomcat
直接启动,如果进程中有java就说明成功了
[root@localhost: local]# /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@localhost: local]# ps aux | grep java
root 2314 61.2 2.9 4576068 112572 pts/0 Sl 23:56 0:06 /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 2365 0.0 0.0 112708 976 pts/0 R+ 23:56 0:00 grep --color=auto java
但是tomcat不支持平滑重启,想关闭或者重启都需要先shutdown
[root@localhost: local]# /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@localhost: local]# !ps
ps aux | grep java
root 2401 0.0 0.0 112708 980 pts/0 S+ 23:58 0:00 grep --color=auto java
启动后查看端口
[root@localhost: local]# netstat -lntp | grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2419/java
tcp6 0 0 :::8009 :::* LISTEN 2419/java
tcp6 0 0 :::8080 :::* LISTEN 2419/java
8080端口显示如下
如果看到了这个,说明你已经成功安装了tomcat。
三个端口8080为提供web服务的端口,8005为管理端口,8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到。
扩展
java容器比较
java容器的比较
j2ee、j2se、ejb、javabean、serverlet、jsp之间关系
tomcat server.xml配置详解
tomcat常用数据库连接的方法