Ubuntu 9中的Tomcat 18.04,安装和基本配置

关于Tomcat 9

在下面的文章中,我们将看到如何在Ubuntu 9上安装Tomcat 18.04。 关于这个的安装 支持servlet和JSP的容器 除其他外,一位同事几年前已经在 危象.

Apache Tomcat是一个实现 开放源码 Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技术。 它为需要执行此类内容的人员(包括大型组织和大型企业到中小型企业)提供了一个完整的解决方案,因为如果该工具具有某种特征,那么它就是它的特色。 强大的可扩展性.

在进行Tomcat 9安装之前,我们需要安装OpenJDK。

安装OpenJDK

La 在Ubuntu 18.04上安装OpenJDK软件包 这很简单:

安装jdk默认的tomcat 9

sudo apt install default-jdk

如果您想安装Oracle Java 而不是OpenJDK,请参阅 指示 一位同事前些时候发布的。

为Tomcat创建用户

现在让我们 在/ opt / tomcat中使用主目录创建一个新的系统用户和组,它将运行Tomcat服务:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

下载Tomcat 9

我们将使用 wget和解压缩 下载并解压缩Tomcat 9文件。我们可以通过输入以下内容进行安装:

sudo apt install unzip wget

下载吧 最新版本的Tomcat 9.0.x下载页面。 在撰写本文时, 最新版本是9.0.10.

当我们清楚要下载的文件时,我们将移至 / tmp目录,并使用wget下载zip文件.

下载tomcat 9

cd /tmp

wget http://apache.rediris.es/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.zip

下载完成后, 我们将解压缩该zip文件并将其移至/ opt / tomcat目录:

unzip apache-tomcat-*.zip

sudo mv apache-tomcat-*/ /opt/tomcat/

对版本和更新有更多控制权,我们将创建一个指向安装目录的符号链接:

sudo ln -s /opt/tomcat/apache-tomcat-* /opt/tomcat/latest

以后,如果要更新Tomcat安装,可以解压缩最新版本并更改符号链接以指向最新版本。

我们之前设置的tomcat用户需要具备 进入Tomcat 9目录。 我们必须将目录的所有权更改为tomcat的用户和组:

sudo chown -R tomcat: /opt/tomcat

我们将使bin目录中的脚本可执行:

sudo chmod +x /opt/tomcat/latest/bin/*.sh

创建一个系统单位文件

要将Tomcat作为服务运行, 我们将创建一个名为tomcat.service的新单元文件。 必须保存 在/ etc / systemd / system /目录中 具有以下内容:

tomcat.service文件

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
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 9飞行状态

我们将通知systemd我们创建了一个新的单位文件,并 我们将启动Tomcat服务 运行:

sudo systemctl daemon-reload

sudo systemctl start tomcat

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

sudo systemctl status tomcat

如果没有错误,您可以 启用Tomcat服务以自动启动 在启动时:

sudo systemctl enable tomcat

设置防火墙

如果您的计算机或服务器受防火墙保护,并且您想要 从本地网络外部访问Tomcat界面,则需要打开端口8080。在某些情况下,此步骤很危险。

要允许端口8080上的流量输入以下命令:

打开8080 ufw tomcat 9端口

sudo ufw allow 8080/tcp

配置Tomcat Web Manager界面

现在我们已经在Ubuntu中安装了Tomcat 9,下一步是 创建有权访问Web管理界面的用户。 Tomcat用户及其角色在文件中定义 tomcat-用户.xml.

如果打开该文件,您将看到它充满了注释和示例。

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

添加可以访问tomcat Web界面的新用户(manager-gui和admin-gui) 需要 在tomcat-users.xml文件的末尾定义用户 如下所示。 确保将用户名和密码更改为更安全的名称:

tomcat 9用户文件

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

默认, Tomcat Web管理界面配置为仅允许从本地主机访问。 如果需要从远程IP访问Web界面,请打开以下文件并注释或删除屏幕截图中标记的行:

sudo vim /opt/tomcat/latest/webapps/manager/META-INF/context.xml

tomcat上下文管理器文件

sudo vim /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml

主机管理器上下文tomcat 9文件

如果你需要 仅从特定IP访问Web界面无需注释掉这些块,而是将您的公共IP添加到列表中。 允许的IP地址以竖线|分隔。 您可以添加唯一的IP地址或使用正则表达式。

测试安装

打开浏览器并输入:http:// your-domain-o-ip:8080。 假设安装成功,将出现类似以下的屏幕:

Tomcat 9.0.10主屏幕

El Tomcat Web应用程序管理器面板 可用于 http://tu-dominio-o-ip: 8080/manager/html。 您可以在这里管理您的应用程序。

tomcat 9应用程序管理器

El Tomcat虚拟机管理器 可用于 http://tu-dominio-o-ip: 8080/host-manager/html。 在这里,您可以管理Tomcat虚拟主机。

tomcat 9虚拟机管理器

参观 官方文件 由Tomcat 9  并详细了解其功能。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   阿斯蒂VPL

    优秀的教程!

  2.   塞尔吉奥·迪亚兹(Sergio Diaz)

    优秀的简洁明了的教程

  3.   卡洛斯

    完美的教程。 除了说明的内容外,我只需要授予创建文件tomcat.service的执行权限,并修改tomcat.service文件中“ JAVA_HOME”的路径,一切便可以正常进行。

  4.   豪尔赫

    您好,很好,但是我无法继续,因为我不知道在哪里键入零件

    [单元]
    描述= Tomcat 9 Servlet容器
    之后= network.target

    [服务]
    类型=分叉

    用户= tomcat
    组= tomcat

    环境=»JAVA_HOME = / usr / lib / jvm / default-java»
    环境=»JAVA_OPTS = -Djava.security.egd =文件:/// dev / urandom»

    环境=»CATALINA_BASE = / opt / tomcat /最新»
    环境=»CATALINA_HOME = / opt / tomcat /最新»
    环境=»CATALINA_PID = / opt / tomcat /最新/temp/tomcat.pid»
    环境=»CATALINA_OPTS = -Xms512M -Xmx1024M-服务器-XX:+ UseParallelGC»

    ExecStart = /选择/ Tomcat /最新/ bin / startup.sh
    ExecStop = / opt / tomcat /最新/ bin / shutdown.sh

    [安装]
    WantedBy = multi-user.target

    您必须在终端上执行此操作。
    问候

    1.    达米安·阿莫多(Damien Amoedo)

      你好。 您引用的代码必须粘贴到/etc/systemd/system/tomcat.service文件中。 使用一些编辑器来创建或编辑文件。 莎露2。

  5.   拉斐尔

    嗨,当我尝试获取告知您已成功安装tomcat的页面时,它标记了多个网络错误。 我已经尝试过使用localhost,删除并放置它表示我们注释以离开其他ip的内容,但即使使用我可以连接的localhost也没有,而且我确实将命令允许端口8080上的流量通过

  6.   D87

    它没有为我服务

  7.   伊莎贝尔

    非常好谢谢。

  8.   圣贝纳迪诺

    非常好。 非常感谢。

  9.   天使

    完美的教程!

    成千上万的感谢!

  10.   何塞

    优秀的教程,但是如果配置了tomcat.service文件,我在创建时会遇到问题

    [单元]
    描述= Tomcat 9 Servlet容器
    之后= network.target

    [服务]
    类型=分叉

    用户= tomcat
    组= tomcat

    环境=»JAVA_HOME = / usr / lib / jvm / java-11-openjdk-amd64 / jre»
    环境=»JAVA_OPTS = -Djava.security.egd =文件:/// dev / urandom»

    环境=»CATALINA_BASE = / opt / tomcat /»
    环境=»CATALINA_HOME = / opt / tomcat /»
    环境=»CATALINA_PID = / opt / tomcat / temp / tomcat.pid»
    环境=»CATALINA_OPTS = -Xms512M -Xmx1024M-服务器-XX:+ UseParallelGC»
    环境=»CATALINA_OUT = / opt / tomcat / logs / catalina.out

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

    [安装]
    WantedBy = multi-user.target

    当执行系统启动tomcat.service时,它给了我以下错误:

    tomcat.service的作业失败,因为控制进程退出并显示错误代码。
    有关详细信息,请参见“ systemctl状态tomcat.service”和“ journalctl -xe”。

    运行命令systemctl status tomcat.service会显示:
    tomcat.service-Tomcat 9 Servlet容器
    已加载:已加载(/etc/systemd/system/tomcat.service;已禁用;供应商预设:已启用)
    活动:自Chu 2020-07-09 13:14:25 CST起失败(结果:退出代码); 2min 12s前
    进程:5851 ExecStart = / opt / tomcat / bin / startup.sh(代码=退出,状态= 2)

    09月13日14:25:120901 host-1 systemd [9]:正在启动Tomcat XNUMX Servlet容器…
    09月13日14:25:120901 host-1 systemd [2]:tomcat.service:控制进程已退出,代码=已退出,状态= XNUMX / INVALIDARGUMENT
    09月13日14:25:120901 host-1 systemd [XNUMX]:tomcat.service:失败,结果为“退出代码”。
    Jul 09 13:14:25 host-120901 systemd [1]:无法启动Tomcat 9 Servlet容器。

    并且在运行journalctl -xe时

    Jul 09 13:14:25 host-120901 startup.sh [5869]:touch:无法执行“ touch on” /opt/tomcat//logs/catalina.out':权限被拒绝
    09月13日14:25:120901 host-5851 startup.sh [505]:/opt/tomcat/bin/catalina.sh:XNUMX:无法创建/opt/tomcat//logs/catalina.out:权限被拒绝
    09月13日15:01:120901 host-5879 CRON [0]:pam_unix(cron:会话):通过(uid = XNUMX)为用户root打开的会话
    09月13日15:01:120901 host-5880 CRON [1]:(root)CMD(命令-v debian-sa1> / dev / null && debian-sa1 1 XNUMX)
    09月13日15:01:120901 host-5879 CRON [XNUMX]:pam_unix(cron:会话):用户root会话已关闭
    Jul 09 13:16:32 host-120901 wpa_supplicant [707]:wlp2s0:拒绝扫描触发器,因为一个触发器已经挂起
    09月13日17:01:120901 host-5905 CRON [0]:pam_unix(cron:会话):通过(uid = XNUMX)为用户root打开的会话
    Jul 09 13:17:01 host-120901 CRON [5906]:(root)CMD(cd / && run-parts -report /etc/cron.hourly)
    09月13日17:01:120901 host5905 CRON [XNUMX]:pam_unix(cron:会话):用户root的会话已关闭

    你能告诉我我有请吗

  11.   何塞

    湄非常感谢你,老师在2020年要求这些家伙

  12.  

    Ganz tolles 教程。 Hab das selbst mit meinem minimum Linux Kenntnissen hin bekommen。 问题waren ehr "externer" Natur, wie das richtige Eintragen eine Proxys。 Hab die 安装 mit 10.0.6, ging ohne Probleme。
    Nur so, die Sache mit der context.xml steht zweimal drin。

    谢谢。