在CentOS 8/Rhel 8上安装Apache Tomcat 9

时间:2020-02-23 14:39:13  来源:igfitidea点击:

在本教程中,我们将讨论如何在RHEL 8/CentOS 8上安装Apache Tomcat 9. Apache Tomcat是由Apache软件基础开发的开源Java的HTTP服务器。
它用于执行称为"Java Servlet"和"Java Server Pages(JSP)"的特殊Java程序。

Apache Tomcat 9在Rhel 8/CentOS 8

我们将进行手动安装,最适合Linux新的用户。
在RHEL/CONTOS 8上使用Tomcat 9服务器安装所需的步骤为:

第1步:安装Java

下面使用我们的教程在RHEL/CentOS服务器上安装Java。

如何在Rhel/CentOS上安装Java 11(OpenJDK 11)

如何在CentOS 7上安装Java 11

第2步:创建Tomcat用户和组

我们nee添加专用于运行Tomcat服务的用户。

sudo groupadd --system tomcat
sudo useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat

第3步:在Linux Rhel/CentOS 8上安装Tomcat 9

检查Tomcat 9的最新版本版本。

保存版本号 VER变量并继续下载。

sudo yum -y install wget
export VER="9.0.30"
wget https://archive.apache.org/dist/tomcat/tomcat-9/v${VER}/bin/apache-tomcat-${VER}.tar.gz

用焦油提取下载的文件。

sudo tar xvf apache-tomcat-${VER}.tar.gz -C /usr/share/

创建符号链接以提取Tomcat数据。

sudo ln -s /usr/share/apache-tomcat-$VER//usr/share/tomcat

如果我们下载了较新版本的Tomcat,只需将符号链接更新到新版本文件夹。

设置正确的目录权限。

sudo chown -R tomcat:tomcat /usr/share/tomcat
sudo chown -R tomcat:tomcat /usr/share/apache-tomcat-$VER/

/usr/share/tomcat目录具有以下子目录:bin:包含二进制文件和脚本(例如 startup.shshutdown.sh对于Unixes和Mac OS X).conf:包含系统范围的配置文件,例如 server.xmlweb.xml, 和 context.xml.webapps:包含要部署的WebApps。
我们还可以在此处放置War(WebApp归档)文件进行部署.LIB:包含Tomcat的系统范围内容jar文件,可由所有WebApps访问。
我们还可以在此处放置外部jar文件(例如mysql jdbc驱动程序).logs:包含tomcat的日志文件。
我们可能需要检查此处的错误消息.Work:JSP使用的Tomcat的工作目录,用于JSP到Servlet转换。

第4步:配置Tomcat 9 Systemd服务

为Tomcat创建新的Systemd服务。

sudo vim /etc/systemd/system/tomcat.service

具有以下配置:

[Unit]
Description=Tomcat Server
After=syslog.target network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop
[Install]
WantedBy=multi-user.target

更新 CATALINA_OPTS带有内存限制的值为Tomcat服务。

启动和启用服务。

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

使用以下命令检查服务状态:

$systemctl status tomcat
 ● tomcat.service - Tomcat
    Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
    Active: active (running) since Sat 2016-12-29 11:18:44 EAT; 29s ago
   Process: 31508 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS)
  Main PID: 31514 (java)
     Tasks: 50 (limit: 11510)
    Memory: 92.2M
    CGroup: /system.slice/tomcat.service
            └─31514 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org>
 Dec 29 11:18:44 rhel8.local systemd[1]: Starting Tomcat…
 Dec 29 11:18:44 rhel8.local systemd[1]: Started Tomcat.

第5步:配置防火墙

允许Tomcat在防火墙上使用的端口 - TCP端口8080。

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

第6步:配置Tomcat身份验证

为此,我们已经完成了安装和配置Tomcat的一项很好的工作。
丢失的部分是用于访问Tomcat Web管理界面的用户的配置。

编辑用户配置文件:

sudo vi /usr/share/tomcat/conf/tomcat-users.xml

之前添加以下行 </tomcat-users>

<role rolename="admin-gui"
<role rolename="manager-gui"
<user username="admin" password="MyStrongPassword" fullName="Administrator" roles="admin-gui,manager-gui"

代替 MyStrongPassword使用我们想要的管理员密码。
见下文

第7步:配置Tomcat代理

我们将使用Apache Httpd作为Apache Tomcat应用程序容器的代理。
使用下面的命令安装httpd软件包。

sudo yum -y install httpd

创建VirtualHost以访问Tomcat Admin Web界面 - /etc/httpd/conf.d/tomcat_manager.conf

<VirtualHost *:80>
    ServerAdmin Hyman@theitroad
    ServerName tomcat.example.com
    DefaultType text/html
    ProxyRequests off
    ProxyPreserveHost On
    ProxyPass/http://localhost:8080/
    ProxyPassReverse/http://localhost:8080/
</VirtualHost>

tomcat.example.com应该是Tomcat服务器名称的值。

对于AJP连接器,它将是这样的配置:

<VirtualHost *:80>
  ServerName example.com
  ProxyRequests Off
  ProxyPass/ajp://localhost:8009/
  ProxyPassReverse/ajp://localhost:8009/
</VirtualHost>

配置SELinux for Apache以访问Tomcat。

sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P httpd_can_network_relay 1
sudo setsebool -P httpd_graceful_shutdown 1
sudo setsebool -P nis_enabled 1

重新启动httpd服务

sudo systemctl restart httpd && sudo systemctl enable httpd

第8步:访问Tomcat Web界面

使用VirtualHost上配置的域名访问Tomcat管理界面。

我们需要进行身份验证以查看服务器状态并管理Tomcat应用程序。

服务器状态和应用程序管理部分如图所示。

从Web Application Manager部分,我们可以列出,部署WAR应用程序,管理SSL和诊断应用程序。

Tomcat Virtual Host Manager部分允许我们创建,删除和管理Tomcat虚拟主机。