0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在CentOS 8安装Tomcat 10

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-07 09:43 次阅读

Apache Tomcat是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技术的开源实现。

它是当今世界上使用最广泛的应用程序和Web服务器之一。Tomcat易于使用,并具有强大的生态系统。本教程介绍如何在CentOS 8安装Tomcat 10。

Tomcat 10需要Java 8或更高版本。我们将安装OpenJDK 11,这是Java平台的开源实现。

以root用户或具有sudo权限的用户运行命令sudo dnf install java-11-openjdk-devel安装Java。

安装完成后,运行命令Java --version检查是否安装正确。命令将会打印Java的版本。

以root运行Tomcat,具有安全风险。我们将创建普通用户运行Tomcat,配并将Tomcat用户的家目录设置为/opt/tomcat

运行useradd命令sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

sudo dnf install java-11-openjdk-devel
java -version
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

下载Tomcat

Tomcat二进制发行可从Tomcat下载页面下载。在撰写本文时,最新的Tomcat版本是9.0.30

在继续下一运行步之前,请检查Tomcat 10下载页面以查看是否有较新的版本。然后将运行wget命令将Tomcat tar.gz文件下载到Linux的临时目录/tmp

下载完成后,解压缩tar.gz文件到/opt/tomcat目录。

VERSION=9.0.30

wget https://dlcdn.apache.org/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp

sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/

Tomcat会定期进行更新。为了更好地控制版本和更新,我们将创建一个名为latest的符号链接,该链接指向Tomcat的安装目录。

运行chmod命令使bin目录中的shell脚本具有可执行权限,这些脚本用于启动和停止Tomcat。

将/opt/tomcat目录的所有权更改为tomcat用户和tomcat组,使tomcat用户可以访问 /opt/tomcat目录。运行命令sudo chown -R tomcat: /opt/tomcat

sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
sudo chown -R tomcat: /opt/tomcat

创建Systemd服务单元

我们将其设置为服务运行,而不是手动启动和停止Tomcat服务器。

打开您喜欢的文本编辑器,创建文件tomcat.service在/etc/systemd/system/目录。在本教程中我们将使用vim创建文件。

完成后,保存文件并退出vim。然后运行systemctl daemon-reload命令重新加载配置文件。

运行命令sudo systemctl enable --now tomcat启动Tomcat服务并自动启动。systemctl restart tomcat命令重启tomcat服务。

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

sudo systemctl daemon-reload
sudo systemctl enable --now tomcat
sudo systemctl restart tomcat
sudo systemctl status tomcat
[Unit]
Description=Tomcat 10 servlet container
After=network.target


[Service]
Type=forking


User=tomcat
Group=tomcat


Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"


Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"


ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh


[Install]
WantedBy=multi-user.target
● tomcat.service - Tomcat 10 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-01-15 20:38:07 UTC; 30s ago
  Process: 3957 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
  ...

配置防火墙

如果您CentOS 8正在运行防火墙服务firewalld,并且您想从外部网络访问tomcat服务,则需要打开端口8080

运行sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp命令打开80端口。

通常,在生产环境中运行Tomcat时,应使用反向代理。最佳做法是只允许从内部网络访问端口8080

如果已经配置Nginx的反向代理,请运行最后两个firewall-cmd命令打开端口80和443。

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp

配置Tomcat Web

至此,您应该能够使用Web浏览器访问Tomcat。由于我们尚未创建用户,因此无法访问Tomcat管理界面。

我们可以在tomcat-users.xml文件中定义Tomcat用户和角色。继续使用vim编辑文件tomcat-users.xml。

创建tomcat Web用户manager-gui和admin-gui,如下所示。确保密码更改为更安全的密码。

sudo vim /opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>

   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
tomcat-users>

默认情况下,Tomcat Web配置为仅允许从本地主机访问。如果您需要外部网络访问Web界面。

请打开/opt/tomcat/latest/webapps/manager/META-INF/context.xml文件并注释以下行。

通常,不建议从任何地方允许访问,因为这会带来安全风险。

<Context antiResourceLocking="false" privileged="true" >

Context>

如果您只想从指定IP访问Tomcat Web,则无需注释这些xml片段,而是将您的外网IP添加到列表中。

允许的IP地址列表是用竖线|分隔的列表。您可以添加单个IP地址或使用正则表达式。

假设您的公开IP为41.41.41.41,而您只想仅从IP访问Tomcat Web。完成后,重新启动Tomcat服务以使更改生效。

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" />
Context>
sudo systemctl restart tomcat

测试安装

打开浏览器,输入URL ttp://:8080。Tomcat Web允许您部署,取消部署,启动,停止和重新加载应用程序。

可以打开URL http://:8080/manager/html找到它。

结论

我们已经向您展示了如何在CentOS 8安装Tomcat 10以及如何访问Tomcat管理界面。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Apache
    +关注

    关注

    0

    文章

    64

    浏览量

    12313
  • CentOS
    +关注

    关注

    0

    文章

    75

    浏览量

    13626
  • tomcat
    +关注

    关注

    0

    文章

    27

    浏览量

    4778
收藏 人收藏

    评论

    相关推荐

    树莓派安装Tomcat

    树莓派安装Tomcat时间:2017-03-05 官网:http://tomcat.apache.org/1、下载tomcathttp://tomcat
    发表于 03-05 15:15

    特斯拉M10CentOS 7无法启动

    /tesla-m10-esxi-6-5-linux-guest-centos-7-/我遇到了同样的问题,在遵循NVIDIA标准安装和vGPU安装中的步骤之后。我的CentOS系统无法启
    发表于 09-30 10:48

    CentOS7配置Tomcat安装和整合Jenkins

    第七章----CentOS7 配置 Tomcat 整合Jenkins自动部署
    发表于 03-29 11:53

    Linux下如何安装和运行Tomcat

    一个Linux下运行两个Tomcat的通用做法一、准备Tomcat的Linux版本安装包:apache-tomcat-7.0.85.tar.gz项目的war包henNB.war(ecl
    发表于 07-08 06:51

    10 Centos软件安装与设置

    10_Centos的一些常用设置
    发表于 08-09 09:48

    使用tomcat插件运行嵌入式tomcat安装并测试应用程序

    maven 使用Eclipse WTP开发Java Web应用程序时,我们需要在计算机中安装tomcat才能执行该应用程序。 如果在项目上使用Maven,则可以使用tomcat插件运行嵌入式
    发表于 12-16 08:10

    何在嵌入式容器Jetty或Tomcat中运行带有Maven的Java Web应用程序

    在开发Java Web应用程序时,从“真实”环境中获得快速反馈非常实用。 在本文中,我将探讨如何在嵌入式容器Jetty或Tomcat中运行带有Maven的Java Web应用程序。 在
    发表于 12-16 06:24

    何在N1SDP上安装发行版ubuntu和centos系统

    based on the Neoverse N1 core.这篇文章将向大家介绍如何在N1SDP上安装发行版ubuntu和centos系统,目前N1SDP仅支持kernel 4.18或以上版本。目前的方法是在
    发表于 07-06 10:52

    在win7下安装CentOS

    最近在学习《鸟叔的linux私房菜》,需要安装CentOS系统,就买了新机装了双系统
    发表于 03-01 09:26 0次下载

    Centos_6.4安装配置LAMP

    Centos_6.4安装配置LAMP Centos_6.4安装配置LAMP Centos_6.4安装
    发表于 05-09 14:36 0次下载

    在vmware上安装centos7以及网络配置

    啃论文之余,想自己搭个虚拟机玩玩。vmware10centos7 X86_64. 1. 在vmware上安装centos7 1.1去官网上下载DVD
    发表于 12-02 15:41 448次阅读

    Tomcat服务器上安装SSL证书的步骤

    Tomcat服务器上安装SSL证书的步骤
    的头像 发表于 07-02 16:02 6742次阅读
    在<b class='flag-5'>Tomcat</b>服务器上<b class='flag-5'>安装</b>SSL证书的步骤

    CentOS6.4安装apach2+php5教程

    CentOS6.4安装apach2+php5教程(ups电源技术点)-该文档为CentOS6.4安装apach2+php5教程总结文档,是一份不错的参考资料,感兴趣的可以下载看看,,,
    发表于 09-22 13:14 7次下载
    <b class='flag-5'>CentOS</b>6.4<b class='flag-5'>安装</b>apach2+php5教程

    如何将CentOS 7升级到CentOS 8.5版本

    在本文中,您将学习如何将CentOS 7升级到CentOS 8.5版本。 ## 第 1 步:安装 EPEL 存储库 首先,通过运行以下命令安装EPL存储库:
    的头像 发表于 05-12 16:25 1204次阅读
    如何将<b class='flag-5'>CentOS</b> 7升级到<b class='flag-5'>CentOS</b> 8.5版本

    记录RocketMQ在centos7上的安装过程

    本文记录RocketMQ在centos7上的安装过程,没有技术的探讨,仅仅是安装记录,以作备忘。
    的头像 发表于 01-02 11:41 269次阅读
    记录RocketMQ在<b class='flag-5'>centos</b>7上的<b class='flag-5'>安装</b>过程