一、Tomcat介绍

  • 目前有很多网站是用Java编写的,所以解析Java程序就必须有相关的软件来完成,Tomcat就是其中之一

  • Tomcat是Apache软件基金会,的Jakarta项目中的一个核心项目,由apache、sun和其他一些公司及个人共同开发而成,Tomcat技术先进,性能稳定而且免费,因而深受Java爱好者的喜欢,并得到部分开发商的认可,成为目前比较流行的web因公服务器。

  • Java程序写的网站用Tomcat+jdk来运行的。

  • tomcat是一个中间件,真正起作用的,解析java脚本是jdk。

  • jdk(java development kit)是整个Java的核心,它包含了java运行环境的一对java相关的工具以及java基础库。

  • 最主流的jdk为sun公司发布的jdk,初次之外,其实IBM公司也有发布JDK,Centos上也可以用yum安装openjdk。

  • Tomcat是一个轻量级应用服务器,在中小型系统和并发用户不是很多的场合下普遍被使用,是开发和调试java程序的首选,对于初学者来说,在一台机器上配置好Apache服务器之后,可利用它相应HTML页面的访问请求。

  • 实际上,Tomcat部分是Apache服务器的拓展,但它是独立运行的,所以当你运行Tomcat时,它是作为一个独立的进程运行的。


  • 二、安装JDK

  • jdk版本1.6,1.7,1.8

  • 一、下载jdk:

  • 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  • 不同的操作系统版本使用不同的jdk版本

  • 我使用的是Tomcat(介绍,JDK安装,Tomcat安装,配置Tomcat监听80端口)_Linux

  • 二、解压jdk:

  • 下载好后,我们可以使用xftp把jdk放到/usr/local/src下

  • 解压jdk压缩包:

  • [root@lnmp ~]# tar zxvf /usr/local/src/jdk-8u151-linux-x64.tar.gz

  • 三、设置环境变量:

  • [root@lnmp ~]# vim /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@lnmp ~]# source /etc/profile


  • 检查jdk有没有安装成功,配置是否正确:

  • [root@lnmp ~]#  java -version

  • 如果显示了以下内容,说明配置正确:

  • java version "1.8.0_151"

  • Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

  • Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)


  • 如果显示的不同,可能系统调用了rpm的openjdk,不要随便卸载它,系统里可能有某一个程序在使用它。我们只需要做一个临时处理就好:

  • mv /usr/bin/java /usr/bin/java_bak

  • source /etc/profile

  • 再次执行

  • [root@lnmp ~]#  java -version,显示结果就正常了


三、安装Tomcat

一、安装Tomcat

[root@lnmp src]# cd /usr/local/src/

[root@lnmp src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/src/apache-tomcat-8.5.24-src.tar.gz

[root@lnmp src]# tar zxvf apache-tomcat-8.5.24-src.tar.gz

二、启动Tomcat

因为是二进制包,所以免去了编译的过程,启动Tomcat,命令如下:

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

在这里,我遇到了2个错误和大家分享一下。

第一个错误:

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

-bash: /usr/local/tomcat/bin/startup.sh: 权限不够

这个好解决,我ls -l看了一下bin/的权限,发现所有者没有x执行权限

[root@lnmp tomcat]# ll

总用量 304

drw-r-xr-x.  2 root root   4096 12月 26 13:49 bin

用下面这条命令则可以解决:

[root@lnmp tomcat]# chmod -R u+x bin/


第二个错误:

[root@lnmp bin]# /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

touch: 无法创建"/usr/local/tomcat/logs/catalina.out": 没有那个文件或目录

/usr/local/tomcat/bin/catalina.sh:行464: /usr/local/tomcat/logs/catalina.out: 没有那个文件或目录

报错没有logs目录,则建立一个就好。

[root@lnmp bin]# mkdir /usr/local/tomcat/logs

[root@lnmp bin]# /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@lnmp bin]# /usr/local/tomcat/bin/shutdown.sh

Tomcat不支持restart,修改配置文件前要关闭,修改完后再开就好。


三、查看服务是否启动成功以及调用的端口。

[root@lnmp src]# ps aux |grep tomcat

root      3144 45.4  8.0 2296132 81524 pts/0   Sl   14:25   0:05 /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 -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      3188  0.0  0.0 112680   976 pts/0    R+   14:25   0:00 grep --color=auto tomcat


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

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

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

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

这里需要记住的是三个端口号,8080为提供web服务的端口,8005为管理端口,8009端口位第三方服务调用的端口,比如httpd和Tomcat结合时会用到。


四、在浏览器上测试。

为了方便起见,我们关闭防火墙。

[root@lnmp src]# systemctl stop firewalld

Tomcat(介绍,JDK安装,Tomcat安装,配置Tomcat监听80端口)_Linux_02


四、配置Tomcat监听80端口

默认直接输入ip访问的是80端口,Tomcat访问的是8080端口,如果想修改为80,则需要修改server.xml文件。

[root@lnmp src]# vim /usr/local/tomcat/conf/server.xml

找到<Connector port="8080" protocol="HTTP/1.1"

修改为<Connector port="80" protocol="HTTP/1.1"


修改完后重启服务:(我们发现监听80端口的是nginx)

[root@lnmp src]# /usr/local/tomcat/bin/shutdown.sh

[root@lnmp src]# /usr/local/tomcat/bin/startup.sh

[root@lnmp src]# netstat -lntp |grep 80

tcp        0      0 0.0.0.0:80              0.0.0.0:*           LISTEN      1232/nginx: master   tcp6       0      0 :::8009                 :::*                    LISTEN      3401/java          

遇到这种情况,我们把nginx关闭,把tomcat重新启动,然后在观察

[root@lnmp src]# systemctl stop nginx

[root@lnmp src]# /usr/local/tomcat/bin/shutdown.sh

[root@lnmp src]# /usr/local/tomcat/bin/startup.sh

[root@lnmp src]# netstat -lntp |grep 80

tcp6       0      0 :::80                   :::*                    LISTEN      3401/java   tcp6       0      0 :::8009                 :::*                    LISTEN      3401/java   此时我们又发现,没有8005端口,因为从新启动后,8005作为管理端口会启动的较慢。

在8005没有启动时我们用浏览器直接去访问时很慢的,因为他要等8005启动后。