云网牛站
所在位置:首页 > Linux云服务器 > 在RHEL/CentOS 8上安装Apache Tomcat 9的方法

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

2019-04-06 10:05:18作者:李群稿源:云网牛站

本文介绍在RHEL/CentOS 8操作系统上安装Apache Tomcat 9的方法,它的所需要的依赖是Java 8或更高Java版本,参考在RHEL 8系统上安装Java 11(OpenJDK 11)的方法在CentOS 7/Fedora 29系统上安装Java 11的方法

 

一、创建tomcat用户和组

我们需要添加专用于运行tomcat服务的用户:

sudo groupadd --system tomcat

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

 

二、在RHEL/CentOS 8上安装Tomcat 9

检查Tomcat 9的最新发行版本,当前版本是9.0.17:

sudo yum -y install wget

wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.17/bin/apache-tomcat-9.0.17.tar.gz

用tar解压缩下载的文件:

sudo tar xvf apache-tomcat-9.0.17.tar.gz -C /usr/share/

为提取的tomcat数据创建符号链接:

sudo ln -s /usr/share/apache-tomcat-9.0.17/ /usr/share/tomcat

如果下载较新版本的Tomcat,只需更新指向新版本文件夹的符号链接即可,当前是9.0.17版本。

设置正确的目录权限:

sudo chown -R tomcat:tomcat /usr/share/tomcat

sudo chown -R tomcat:tomcat /usr/share/apache-tomcat-9.0.17/

/usr/share/tomcat目录包含以下子目录:

1、bin:包含二进制文件和脚本(例如,Unix和Mac OS X的startup.sh和shutdown.sh)。

2、conf:包含系统范围的配置文件,例如server.xml、web.xml和context.xml。

3、webapps:包含要部署的webapps,也可以在此处放置WAR(Webapp Archive)文件以进行部署。

4、lib:包含Tomcat的系统范围库JAR文件,可供所有webapps访问,也可以在此处放置外部JAR文件(例如MySQL JDBC Driver)。

5、logs:包含Tomcat的日志文件,可能需要在此处检查错误消息。

6、work:JSP使用的Tomcat的工作目录,用于JSP-to-Servlet转换。

 

三、配置Tomcat 9 Systemd服务及Firewall

1、配置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

使用Tomcat服务的内存限制更新CATALINA_OPTS值。

启动并启用服务:

sudo systemctl daemon-reload

sudo systemctl start tomcat

sudo systemctl enable tomcat

使用以下命令检查服务状态,运行systemctl status tomcat命令:

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

2、配置Firewall

允许tomcat在防火墙上使用的端口 - TCP端口:8080:

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

sudo firewall-cmd --reload

 

四、配置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:

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

 

五、配置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 root@localhost

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

参考:在RHEL 8上安装配置Apache、mod_ssl、mod_http2的方法

 

六、配置访问Tomcat Web界面

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

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

需要进行身份验证才能查看服务器状态并管理Tomcat应用程序:

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

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

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

从Web应用程序管理器部分,可以列出部署WAR应用程序、管理SSL和诊断应用程序:

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

Tomcat Virtual Host Manager部分允许你创建、删除和管理Tomcat主机:

在RHEL/CentOS 8上安装Apache Tomcat 9的方法

至此,已经成功在RHEL/CentOS 8系统上安装Tomcat 9了。

 

相关主题

在CentOS 7/Fedora 29系统上安装Apache Tomcat 9的步骤

精选文章
热门文章