前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu中安装Apache Tomcat

如何在Ubuntu中安装Apache Tomcat

原创
作者头像
用户7639835
修改2021-08-27 11:37:59
5.3K0
修改2021-08-27 11:37:59
举报
文章被收录于专栏:技术知识分享技术知识分享

如果要运行包含Java服务器页面编码或Java servlet的网页,可以使用Apache Tomcat 。 它是Apache Software Foundation发布的开源Web服务器和servlet容器。

Tomcat可以作为独立产品使用,具有自己的Web服务器,也可以与其他Web服务器(如ApacheIIS)结合使用。 最新版本的Tomcat是9.0.14 ,它构建在Tomcat 88.5之上,并实现了Servlet 4.0,JSP 2.2。

在本教程中,我们将向您展示如何在Ubuntu 18.10和旧版本的Ubuntu中安装Apache Tomcat 9

第1步:安装Java

要运行Java Web应用程序,Tomcat需要在服务器上安装Java。 为了满足这个要求,我们将安装OpenJDK ,如图所示。

代码语言:javascript
复制
$ sudo apt update
$ sudo apt install default-jdk

第2步:创建Tomcat用户

出于安全原因, Tomcat应该与非特权用户(即非root用户)一起运行。 这就是为什么我们将创建将运行该服务的用户和组tomcat。 首先创建tomcat组:

代码语言:javascript
复制
$ sudo groupadd tomcat

接下来,我们将创建一个tomcat用户,该用户将成为tomcat组的成员。 这个用户的home位置是/ opt / tomcat,因为这是我们要安装Tomcat的地方。 shell设置为/ bin / false

代码语言:javascript
复制
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

现在我们准备继续下一步并下载Tomcat。

第3步:安装Apache Tomcat

要下载最新的软件包,请访问Tomcat的下载页面并获取最新版本。

在编写本教程时,最新版本的Tomcat9.0.14 。 要下载该版本,请将当前目录更改为其他目录。 例如,您可以使用/ tmp

代码语言:javascript
复制
# cd /tmp

然后使用wget命令下载Tomcat存档:

代码语言:javascript
复制
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
$ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512

如果要验证可以运行的文件的sha512总和:

代码语言:javascript
复制
$ sha512sum apache-tomcat-9.0.14.tar.gz
$ cat apache-tomcat-9.0.14.tar.gz.sha512

两个文件的结果值(哈希)应该相同。

如前所述,我们将在/ opt / tomcat中安装Tomcat。 我们必须创建该目录:

代码语言:javascript
复制
$ sudo mkdir /opt/tomcat

现在我们可以在新目录中提取下载的包:

代码语言:javascript
复制
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1

现在导航到/ opt / tomcat ,我们将更新文件夹所有权和权限:

代码语言:javascript
复制
# cd /opt/tomcat

并将/ opt / tomcat的组所有者设置为tomcat

代码语言:javascript
复制
$ sudo chgrp -R tomcat /opt/tomcat

接下来我们将更新tomcat组对conf目录的读访问权限,并为目录设置执行权限:

代码语言:javascript
复制
$ sudo chmod -R g+r conf
$ sudo chmod g+x conf

接下来我们将创建webappsworktemplogs目录的tomcat用户所有者:

代码语言:javascript
复制
$ sudo chown -R tomcat webapps/ work/ temp/ logs/

现在已经设置了适当的权限和所有权,我们准备创建一个systemd启动文件,这将帮助我们管理Tomcat进程。

第4步:为Tomcat创建SystemD服务文件

因为我们想要将Tomcat作为服务运行,所以我们需要一个可以帮助我们轻松管理流程的文件。 为此,我们将创建一个systemd服务文件。 Tomcat必须知道Java在您的系统中的位置。

要查找该位置,请使用以下命令:

代码语言:javascript
复制
$ sudo update-java-alternatives -l

该命令的输出将显示JAVA_HOME的位置。

查找Java主页
查找Java主页

查找Java主页

现在,使用该信息,我们准备创建我们的Tomcat服务文件。

代码语言:javascript
复制
$ sudo vim  /etc/systemd/system/tomcat.service

将以下代码粘贴到文件中:

代码语言:javascript
复制
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
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

确保将JAVA_HOME设置为系统的JAVA_HOME 。 准备好后,保存文件并关闭它。 现在,使用下面的命令,重新加载systemd守护程序,以便它可以找到我们的新服务文件:

代码语言:javascript
复制
$ sudo systemctl daemon-reload

然后启动Tomcat服务:

代码语言:javascript
复制
$ sudo systemctl start tomcat

您可以使用以下方式验证服务状态:

代码语言:javascript
复制
$ sudo systemctl status tomcat
验证Apache Tomcat状态
验证Apache Tomcat状态

验证Apache Tomcat状态

您现在可以使用系统的IP地址,然后使用服务默认端口8080在浏览器中测试Tomcat

代码语言:javascript
复制
http://ip-address:8080

您应该看到的结果类似于下图中显示的结果:

Apache Tomcat网页
Apache Tomcat网页

Apache Tomcat网页

如果您没有看到上述输出,则可能需要在防火墙中允许端口8080 ,如图所示。

代码语言:javascript
复制
$ sudo ufw allow 8080

如果您希望Tomcat在系统启动时启动,请运行:

代码语言:javascript
复制
$ systemctl enable tomcat

第5步:配置Apache Tomcat

Tomcat有一个预安装的Web管理器应用程序。 为了使用它,我们需要在tomcat-users.xml文件中设置身份验证。 使用您喜欢的文本编辑器打开并编辑该文件:

代码语言:javascript
复制
$ sudo vim /opt/tomcat/conf/tomcat-users.xml

我们将添加一个能够访问管理器管理界面的用户。 要在<tomcat-users> </tomcat-users>标记之间配置此类用户,请添加以下行:

代码语言:javascript
复制
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>

确保更改:

  • 用户名 - 与您要进行身份验证的用户。
  • 密码 - 使用您希望用于身份验证的密码。
配置Apache Tomcat
配置Apache Tomcat

配置Apache Tomcat

由于默认情况下对Host ManagerManager的访问受到限制,我们将要删除或更改这些限制。 要进行此类更改,您可以加载以下文件:

对于经理应用:

代码语言:javascript
复制
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml

对于主机管理器应用:

代码语言:javascript
复制
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml

在这些文件中,您可以注释IP限制或允许您的公共IP地址。 出于本教程的目的,我对该行进行了评论:

允许Apache Tomcat访问
允许Apache Tomcat访问

允许Apache Tomcat访问

要进行实时更改,请使用以下命令重新加载tomcat服务:

代码语言:javascript
复制
$ sudo systemctl restart tomcat 

您现在可以通过访问http:// ipaddress:8080 / manager / 来测试经理应用。 提示输入用户名和密码时,请使用先前配置的用户名和密码。 之后您应该看到的界面如下所示:

访问Apache Tomcat Manager
访问Apache Tomcat Manager

访问Apache Tomcat Manager

要访问主机管理器 ,您可以使用http:// ip-address:8080 / host-manager /

访问Apache Tomcat Virtual Host Manager
访问Apache Tomcat Virtual Host Manager

访问Apache Tomcat Virtual Host Manager

使用虚拟主机管理器,您可以为Tomcat应用程序创建虚拟主机。

第6步:通过创建测试文件来测试Apache Tomcat

您可以通过在/ opt / tomcat / webapps / ROOT /目录中创建测试文件来检查一切是否正常运行。

让我们创建这样的文件:

代码语言:javascript
复制
$ sudo vim /opt/tomcat/webapps/ROOT/howtoing.jsp

在该文件中粘贴以下代码:

代码语言:javascript
复制
<html>
<head>
<title>Howtoing post:TomcatServer</title>
</head>
<body>

<START OF JAVA CODES>
<%
    out.println("Hello World! I am running my first JSP Application");
    out.println("<BR>Howtoing is an Awesome online Linux Resource.");
%>
<END OF JAVA CODES>

</body>
</html>

保存文件并设置所有权,如图所示。

代码语言:javascript
复制
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/howtoing.jsp

现在使用http:// ip-address:8080 / howtoing.jsp在浏览器中加载该文件。

测试Apache Tomcat
测试Apache Tomcat

测试Apache Tomcat

而已! 您已完成Apache Tomcat服务器的设置并运行了第一个Java代码。 我们希望这个过程简单明了。 如果您遇到任何问题,请通过下面的评论表分享您的问题。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第1步:安装Java
  • 第2步:创建Tomcat用户
  • 第3步:安装Apache Tomcat
  • 第4步:为Tomcat创建SystemD服务文件
  • 第5步:配置Apache Tomcat
  • 第6步:通过创建测试文件来测试Apache Tomcat
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档