IP Address: 54.147.142.16



Apache Tomcat既是一款web服务器,又是小服务程序的容器,在Java应用程序中经常会使用。它是由Apache软件基金会发布的开源Java应用页面展示器。本教程将详细讲解如何在CentOS 7 / RHEL 7系统安装Apache Tomcat 9。

步骤1、安装Java 8

Apache Tomcat 9要求服务器安装Java 8及更高版本,而Java 8是可以在CentOS 7 / RHEL 7的软件库中找到的,执行如下命令安装Java 8:

# yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

一旦安装完成,可以使用如下命令检测Java是否安装成功:

# java -version

如果见到如下图所示的内容,就表示Java 8安装成功了:

步骤2、安装Tomcat 9

可以到Apache Tomcat的官方网站下载最新版软件包,目前Tomcat的最新发行版为9.0.12。使用如下命令下载:

# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz

下载完成后,使用如下命令将文件解压到”/opt”目录:

# tar -zxvf apache-tomcat-9.0.12.tar.gz -C /opt

方便起见,使用如下命令将Tomcat文件的解压目录进行重命名:

# cd /opt
# mv apache-tomcat-9.0.12/ tomcat

由于Tomcat并不建议直接使用root用户运行,所以我们将使用如下命令创建专门用于运行Tomcat程序的用户和组:

# groupadd tomcat
# useradd -g tomcat -d /opt/tomcat -s /bin/nologin tomcat
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

现在,修改tomcat用户的家目录属主为该用户:

# chown -R tomcat:tomcat /opt/tomcat/

之后,就创建一个tomcat.service文件用于方便管理tomcat:

# vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install] 
WantedBy=multi-user.target

现在,就可以使用如下命令启动Tomcat服务并将其设置为开机自动运行了:

# systemctl daemon-reload
# systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service.
# systemctl start tomcat

Tomcat默认使用的端口是8080,CentOS 7 / RHEL 7系统需要使用如下命令将防火墙的对应端口打开:

# firewall-cmd --zone=public --permanent --add-port=8080/tcp
# firewall-cmd --reload

现在, 就可以通过浏览器访问”http://IP_address:8080″网址,来验证Tomcat是否成功启动了。我的主机IP为”192.168.1.235″,不出意外的话,会见到如下页面:

步骤3、配置Apache Tomcat Web管理接口

默认情况下,我们是不能进入Tomcat的Web管理接口的,因为我们并没有创建用户。想要使用管理接口,就要创建用户并配置角色。Tomcat的用户配置文件为”tomcat-users.xml”,修改文件添加如下内容用于创建用户:

<tomcat-users>
<!--
    Comments
-->

   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="www.daehub.com" roles="admin-gui,manager-gui"/>
</tomcat-users>

同时,Tomcat的Web管理接口只能通过”localhost”进入,如果需要通过远程访问,则需要按如下内容启用远程网络,本例中添加”192.168.1.0/24″这个网段:

# vi /opt/tomcat/webapps/manager/META-INF/context.xml
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />

# vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />

最后要做的工作就是使用如下命令重新启动Tomcat,然后就可以访问Web管理接口了:

#systemctl restart tomcat

示意图如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注