如何在Ubuntu 18.04操作系统上安装Apache Tomcat?

Apache Tomcat是一个基于Java技术的web服务器,用于管理web应用程序。在本教程中,您将学习在Linux Ubuntu 18.04上安装Tomcat的所有必要说明。

首先,通过SSH连接到服务器。如果尚未连接,您可以参考我们指南中相关的内容来完成连接SSH。如果是本地服务器,则进入下一步,打开服务器的终端。

安装Java

使用下面的命令检查系统是否已经安装Java:

$ java -version

如果已安装Java,执行下一步。否则,请先完成安装。 更新apt存储库,然后继续安装Java Development Kit:

$ sudo apt-get update && sudo apt-get install default-jdk

安装Tomcat

创建将启动Tomcat服务的新用户和新组。
创建tomcat组:

$ sudo groupadd tomcat

并创建相关用户”tomcat”,出于安全原因,该用户不能访问终端:

$ sudo useradd -s /bin/false -g tomcat -d /usr/local/tomcat tomcat

创建了用户和组之后,就可以开始实际Tomcat。
进入/usr/local目录:

$ cd /usr/local

访问https://tomcat.apache.org/download-90.cgi以确保您下载最新版本的Tomcat。目前为止,最新发布的版本是9.0.30。下载软件包:

$ wget http://it.apache.contactlab.it/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz

解压文件,并将刚刚压缩文件夹名改为“tomcat”:

$ tar xzvf apache-tomcat-9.0.30.tar.gz && mv apache-tomcat-9.0.30 tomcat

继续为用户和前面创建的“tomcat”组配置上述文件夹的权限:

$ sudo chgrp -R tomcat tomcat

$ sudo chmod -R g+r tomcat/conf

$ sudo chmod g+x tomcat/conf

$ sudo chown -R tomcat tomcat/work/ tomcat/logs/ tomcat/webapps/ tomcat/temp/

这样即完成Tomcat的安装,之后需要创建服务来启动。首先,标记对应Java安装的路径,你可以用命令获得。

$ update-java-alternatives -l

创建服务所需的Java安装路径将被打印出来。
在 / etc / systemd / system / 目录下创建 tomcat.service 文件

$ sudo nano /etc/systemd/system/tomcat.service

以下内容必须包含在文件中,并且必须在指定位置仔细替换之前安装的Java路径。

[Unit]

Description=Apache Tomcat

After=network.target
[Service]

Type=forking
Environment=JAVA_HOME=PERCORSO_JAVA

Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid

Environment=CATALINA_HOME=/usr/local/tomcat

Environment=CATALINA_BASE=/usr/local/tomcat

Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/usr/local/tomcat/bin/shutdown.sh
User=tomcat

Group=tomcat

UMask=0007

RestartSec=10

Restart=always
[Install]

WantedBy=multi-user.target
For example in this case the file will have the following content:
[Unit]

Description=Apache Tomcat

After=network.target
[Service]

Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64

Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid

Environment=CATALINA_HOME=/usr/local/tomcat

Environment=CATALINA_BASE=/usr/local/tomcat

Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/usr/local/tomcat/bin/shutdown.sh
User=tomcat

Group=tomcat

UMask=0007

RestartSec=10

Restart=always
[Install]

WantedBy=multi-user.target

防火墙

如果系统已有防火墙,则允许传输到默认的Tomcat端口或8080。输入以下命令:

$ ufw allow 8080

启动Tomcat结束安装:

$ sudo systemctl daemon-reload && sudo systemctl start tomcat

使用命令查看服务状态:

$ sudo systemctl status tomcat

如果状态为活跃,访问http://< server . ip >:8080,或者本地服务器http://localhost:8080。

此时可以看到Tomcat欢迎页面,即说明安装成功。

自动启动

要在系统启动时自动启动Tomcat服务,可使用该命令:

$ sudo systemctl enable tomcat

管理界面

要使用Tomcat管理界面,首先需要配置用于登录的用户数据。
打开Tomcat conf文件夹下的Tomcat -users.xml文件:

$ sudo nano /usr/local/tomcat/conf/tomcat-users.xml

然后在结束标记之前添加:

<user username="MYUSER" password="MYPASSWORD" roles="manager-gui,admin-gui"/>

将MYUSER和MYPASSWORD替换为您想要使用的身份验证数据:

<user user username="ADMIN" password="ARUBA123" roles="manager-gui,admin-gui"/>

此时,将用户配置为访问管理界面。
如果在远程服务器上安装tomcat来从浏览器访问管理界面,还需要禁用一些安全限制:打开context.xml文件:

$ sudo nano /usr/local/tomcat/webapps/manager/META-INF/context.xml

并将其内容改为:

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

保存后关闭。

最后,请重启Tomcat服务:

$ sudo systemctl restart tomcat

访问http://< server . ip >:8080/manager/html,如果是本地服务器,则访问http://localhost:8080/manager/html。通过输入前面设置的凭证,访问Tomcat管理控制台。

完成Tomcat配置。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2653.html

Like (0)
Previous 2026年5月12日 上午11:20
Next 2026年5月13日 上午10:06

相关推荐

  • 低成本抵御DDoS攻击,高防IP成中小企业防护首选

    DDoS攻击是目前互联网中最常见的网络攻击方式之一。 通过大量虚假流量对目标服务器进行攻击,堵塞网络耗尽服务器性能,导致服务器崩溃,真正的用户也无法正常访问。 再加上由各僵尸网络驱…

    2026年5月27日
    0
  • BGP机房与其他机房有何区别?

    什么是BGP?BGP全称边界网关协议(Border Gateway Protocol),是用于连接互联网上各个自治系统的路由选择协议。BGP主要应用于互联网AS(自治系统)之间的互…

    2026年7月6日
    0
  • 如何更新服务器CentOS版本?

    老版本系统一旦被官方”抛弃”,就再也收不到安全补丁了,如果继续使用这类过期系统,不法分子很容易利用系统漏洞发起攻击,轻则破坏服务器正常运行,重则窃取内部核心…

    2026年5月12日
    0
  • 什么是 LAMP 堆栈?LAMP 用于什么?

    LAMP堆栈是一种流行的软件组合,通过开源组件来构建和交付网络应用程序。 开发人员基本都知道LAMP,因为自20世纪90年代末以来,它就一直是网络开发的常用工具。LAMP堆栈以开源…

    2026年4月29日
    0
  • 负载均衡实战:用 Nginx 搭建高可用流量分发架构

    做过高并发项目的运维或开发都清楚,单台服务器扛流量很容易在高峰期卡顿、宕机,只靠升级配置治标不治本。想让服务稳定、响应快、能扩容,负载均衡是绕不开的核心方案。本文结合实际部署经验,…

    2026年4月15日
    0
  • 网站采用CDN加速的好处

    在数字内容高速增长、用户对网络体验要求不断提升的背景下,CDN 内容分发网络通过就近缓存与智能调度,为网站加速、视频点播、文件分发等场景提供高效稳定的内容传输能力。CDN(内容分发…

    2026年6月16日
    0
  • 服务器集群究竟是什么?

    如今“集群”这个概念正被越来越多人熟知,这项技术也早已渗透到各类实际业务场景中落地应用。不少人会好奇,服务器集群究竟是什么?它又具备哪些优势与短板? 一、什么服务器集群 服务器作为…

    2026年6月29日
    0
  • 网站建设如何做好安全防护?

    站点安全是站点运转基础,眼下不少公司搭建站点时都会用到开源程序,这类程序的优势在于部署迅速、上手门槛低,但短板同样突出——安全性很难有保证,一旦被黑,前期工作很可能归零。那么在建站…

    2026年6月16日
    0
  • 如何更新Ubuntu和Debian版本

    过时的操作系统一旦停止接收安全补丁,便会成为攻击者眼中的”软柿子”。那些心怀不轨的人往往专门盯着这类系统下手——利用已知漏洞悄无声息地渗透服务器,进而窃取用…

    2026年5月11日
    0
  • 异步api是什么?与REST API的区别

    当今用户对实时信息的需求日益强烈,股价、列车时刻等数据都需要在发生的第一时间送达。如何实时推送这些关键信息,是每家企业面临的共同挑战。传统做法是让应用定期轮询后端服务器来获取最新数…

    2026年4月11日
    0