Tomcat的安装分为两个步骤:安装JDK和安装Tomcat
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。所以要想运行jsp的程序必须要有JDK的支持,理所当然安装Tomcat的前提是安装好JDK。另外JDK又有Oracle JDK和OpenJDK,目前在生产环境中推荐使用Oracle JDK。
这里使用的Oracle JDK版本为1.8,Tomcat版本为8;JDK软件可以去Oracle官方下载,Tomcat可以去Apache基金会下载。
1 |
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.tar.gz |
1 2 3 |
root@pd-open-app-01:~ # ll -rw-r--r-- 1 root root 8.9M May 12 06:33 apache-tomcat-8.0.35.tar.gz -rw-r--r-- 1 root root 173M May 18 18:44 jdk-8u92-linux-x64.tar.gz |
一、解压安装JDK
1 2 |
root@pd-open-app-01:~ # tar xvf jdk-8u92-linux-x64.tar.gz root@pd-open-app-01:~ # mv jdk1.8.0_92/ /usr/lib/ |
设置环境变量
1 2 3 4 5 6 7 |
root@pd-open-app-01:~ # cat /etc/profile.d/jdk.sh #!/bin/bash JAVA_HOME=/usr/lib/jdk1.8.0_92 JRE_HOME=/usr/lib/jdk1.8.0_92/jre PATH=$PATH:$JAVA_HOME/bin CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar export JAVA_HOME JRE_HOME PATH CLASSPATH |
1 2 |
root@pd-open-app-01:~ # chmod a+x /etc/profile.d/jdk.sh root@pd-open-app-01:~ # source /etc/profile.d/jdk.sh |
输入变量
1 2 3 4 5 6 |
root@pd-open-app-01:~ # echo $JAVA_HOME /usr/lib/jdk1.8.0_92 root@pd-open-app-01:~ # echo $JRE_HOME /usr/lib/jdk1.8.0_92/jre root@pd-open-app-01:~ # echo $CLASSPATH /usr/lib/jdk1.8.0_92/jre/lib/ext:/usr/lib/jdk1.8.0_92/lib/tools.jar |
查看Java版本
1 2 |
root@pd-open-app-01:~ # javac -version javac 1.8.0_92 |
或
1 2 3 4 |
root@pd-open-app-01:~ # java -version java version "1.8.0_92" Java(TM) SE Runtime Environment (build 1.8.0_92-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode) |
二、解压安装tomcat
1 2 3 |
root@pd-open-app-01:~ # tar xvf apache-tomcat-8.0.35.tar.gz root@pd-open-app-01:~ # mkdir /data/ root@pd-open-app-01:~ # mv apache-tomcat-8.0.35 /data/tomcat |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
root@pd-open-app-01:/data/tomcat # ll total 112K drwxr-x--- 2 root root 4.0K May 19 10:23 bin drwx------ 2 root root 4.0K May 12 05:50 conf drwxr-x--- 2 root root 4.0K May 19 10:23 lib -rw-r----- 1 root root 56K May 12 05:50 LICENSE drwxr-x--- 2 root root 4.0K May 12 05:49 logs -rw-r----- 1 root root 1.7K May 12 05:50 NOTICE -rw-r----- 1 root root 6.9K May 12 05:50 RELEASE-NOTES -rw-r----- 1 root root 16K May 12 05:50 RUNNING.txt drwxr-x--- 2 root root 4.0K May 19 10:23 temp drwxr-x--- 7 root root 4.0K May 12 05:49 webapps drwxr-x--- 2 root root 4.0K May 12 05:49 work |
Tomcat安装成功后,在Tomcat的安装目录下,将会出现7个文件夹及4个文件:
bin:存放启动、停止Tomcat服务器的脚本文件;
conf:存放Tomcat服务器的配置文件,最重要的是server.xml文件;
logs:存放Tomcat服务器的日志文件;
temp:存放Tomcat运行时的临时文件;
webapps:存放需要tomcat运行的web应用(当然也可以通过在配置文件中指定具体位置来配置应用,后面会介绍);
work:tomcat的工作目录,默认情况下存放运行过程中jsp编译生成的java文件和class文件;
lib:存放Tomcat服务器和所有Web应用程序需要访问的JAR文件。
三、使用catalina脚本启动Tomcat
先做一个PATH环境变量
1 2 3 4 |
root@pd-open-app-01:/data/tomcat # cat /etc/profile.d/tomcat.sh #!/bin/bash # PATH=$PATH:/data/tomcat/bin |
1 2 |
root@pd-open-app-01:/data/tomcat # chmod a+x /etc/profile.d/tomcat.sh root@pd-open-app-01:/data/tomcat # source /etc/profile.d/tomcat.sh |
启动tomcat
1 2 3 4 5 6 7 |
root@pd-open-app-01: # catalina.sh start Using CATALINA_BASE: /data/tomcat Using CATALINA_HOME: /data/tomcat Using CATALINA_TMPDIR: /data/tomcat/temp Using JRE_HOME: /usr/lib/jdk1.8.0_92/jre Using CLASSPATH: /data/tomcat/bin/bootstrap.jar:/data/tomcat/bin/tomcat-juli.jar Tomcat started. |
1 2 3 4 |
root@pd-open-app-01:/data/tomcat # netstat -nplt | grep java tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 29899/java tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 29899/java tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 29899/java |
ps:使用catalina.sh启动tomcat时你会感觉非常慢。
四、Java监控工具使用
jps:显示系统内的所有hotspot虚拟进程列表信息。
1 2 3 4 |
root@pd-open-app-01:~ # jps 30630 Bootstrap 1415 Bootstrap 11997 Jps |
jinfo:用于输出JAVA系统参数及命令行参数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
root@pd-open-app-01:~ # jinfo 30630 Attaching to process ID 30630, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.60-b23 Java System Properties: java.vendor = Oracle Corporation sun.java.launcher = SUN_STANDARD catalina.base = /data/tomcat/open-svr-web sun.management.compiler = HotSpot 64-Bit Tiered Compilers catalina.useNaming = true os.name = Linux ............................. |
jmap:主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
root@open-app-01:~ # jmap 30630 Attaching to process ID 30630, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.60-b23 0x0000000000400000 7K /usr/lib/jdk1.8.0/bin/java 0x00007f48c6265000 87K /lib/x86_64-linux-gnu/libgcc_s.so.1 0x00007f48c647b000 250K /usr/lib/jdk1.8.0/jre/lib/amd64/libsunec.so 0x00007f48c6fc7000 90K /usr/lib/jdk1.8.0/jre/lib/amd64/libnio.so 0x00007f48c74d9000 113K /usr/lib/jdk1.8.0/jre/lib/amd64/libnet.so 0x00007f48c76f0000 48K /usr/lib/jdk1.8.0/jre/lib/amd64/libmanagement.so 0x00007f48fc692000 121K /usr/lib/jdk1.8.0/jre/lib/amd64/libzip.so ................. |
jstat:收集并显示hotspot虚拟机各方面的运行数据。
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
关于工具的使用,参考:JDK内置工具使用,介绍了每个工具的使用。