如何在 CentOS 上安装 Apache Tomcat
Apache Tomcat 是 Linux 上最流行、最强大的 Web 应用程序服务器之一。您可以使用 Tomcat 托管 Java servlet 或 JSP Web 应用程序。与任何其他 Apache 许可的软件一样,Tomcat 在自由 Apache 许可下免费提供。如果您想在 CentOS 上安装 Apache Tomcat,这里有一份指南。适用于 Debian 或 Ubuntu 上的 Tomcat 安装。请参阅本指南。
安装JDK
首先,您需要安装Java开发工具包(JDK)。为此,首先确定兼容的 Java 版本,如下所示。在本教程中,我安装 Apache tomcat 9
,它支持 Java 8
或更高版本。

一旦您决定了 Java 版本,请首先在 CentOS 系统上启用 Repoforge 存储库并运行以下命令来安装相应的 JDK。
$ sudo yum install java-1.8.0-openjdk-devel -y
之后,设置JAVA_HOME
环境变量。
$ sudo sh -c 'echo export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk > /etc/profile.d/java.sh'
$ source /etc/profile.d/java.sh
安装 Apache Tomcat
现在下载 Apache Tomcat 并安装它。由于 Apache Tomcat 以二进制文件形式分发,因此您所要做的就是将其复制到 CentOS 中的某个位置。
$ wget https://mirrors.gigenet.com/apache/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz
$ sudo tar -xf apache-tomcat-9.0.41.tar.gz -C /opt
$ sudo ln -s /opt/apache-tomcat-9.0.41 /opt/tomcat
更新权限
为了安全起见,创建一个名为 tomcat
的专用用户/组(Tomcat 将以该用户/组的身份执行),并授予该用户/组的访问权限。
$ sudo groupadd tomcat
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
$ sudo chown -R tomcat:tomcat /opt/apache-tomcat-9.0.41
$ sudo chmod -R g+r /opt/apache-tomcat-9.0.41/conf
$ sudo chmod -R g+w /opt/apache-tomcat-9.0.41/logs
$ sudo chmod -R g+w /opt/apache-tomcat-9.0.41/temp
$ sudo chmod -R g+w /opt/apache-tomcat-9.0.41/webapps
$ sudo chmod -R g+w /opt/apache-tomcat-9.0.41/work
为 Apache Tomcat 设置 systemd
最后,为 Apache tomcat 准备 systemd
配置,如下所示。
$ sudo vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
重新加载 systemd 并启动 Tomcat:
$ sudo systemctl daemon-reload
$ sudo systemctl start tomcat
要验证 Apache Tomcat 是否已成功安装,请在浏览器中访问 http://your_centos_ip:8080
。如果一切正常,您将在浏览器窗口中看到以下内容。

如果无法访问上述 Tomcat 页面,请务必调整防火墙规则打开 TCP/8080
,因为 CentOS 默认开启 iptables
,阻止了 Tomcat 的默认监听端口 8080
。
或者,您可以暂时停止防火墙,以进行快速测试,如下所示。
在 CentOS 6 或更早版本上:
$ sudo service iptables stop
$ sudo chkconfig iptables off
在 CentOS 7 或更高版本上:
$ sudo systemctl stop firewalld
确认 Tomcat 可以访问后,请确保重新启用防火墙。