关于Ubuntu Server 18.04 LTS 安装Tomcat并配置systemctl管理Tomcat服务的问题

下面是详细的攻略:

环境准备

  1. 确保已经安装了Java环境,Tomcat需要依赖Java运行
sudo apt install default-jdk
  1. 下载Tomcat

可以在官网下载Tomcat https://tomcat.apache.org/download-90.cgi。

这里以apache-tomcat-9.0.52.tar.gz为例,在终端中执行以下命令进行下载:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
  1. 安装Tomcat

先将下载的压缩包解压缩到 /usr/local 下,将其目录改名为 tomcat。

sudo tar -zxvf apache-tomcat-9.0.52.tar.gz -C /usr/local
sudo mv /usr/local/apache-tomcat-9.0.52 /usr/local/tomcat
  1. 添加Tomcat用户
sudo groupadd tomcat
sudo useradd -g tomcat -s /bin/false -d /usr/local/tomcat tomcat
  1. 设置Tomcat目录权限
sudo chgrp -R tomcat /usr/local/tomcat/
sudo chmod -R g+r /usr/local/tomcat/conf
sudo chmod -R g+x /usr/local/tomcat/conf
sudo chown -R tomcat /usr/local/tomcat/webapps/
sudo chown -R tomcat /usr/local/tomcat/work/
sudo chown -R tomcat /usr/local/tomcat/temp/
sudo chown -R tomcat /usr/local/tomcat/logs/

配置Tomcat服务

  1. 新建tomcat.service文件
sudo vim /etc/systemd/system/tomcat.service
  1. 编写文件内容
[Unit]
Description=Tomcat9
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat

ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecStop=/usr/local/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

其中JAVA_HOME、CATALINA_PID、CATALINA_HOME、CATALINA_BASE的路径需要根据实际情况修改。

  1. 更新systemd配置
sudo systemctl daemon-reload
  1. 启动并设置Tomcat自启动
sudo systemctl start tomcat
sudo systemctl enable tomcat

执行 systemctl status tomcat 可以查看Tomcat服务的状态。

示例

  1. 部署一个hello world的Servlet。

我们在 $CATALINA_HOME/webapps 下新建一个目录 helloworld,然后在这个目录下新建 WEB-INF 目录。在 WEB-INF 目录下新建一个 web.xml 文件,在该文件中进行 Servlet 的配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         id="WebApp_ID" version="3.1">
    <display-name>helloworld</display-name>

    <servlet>
      <servlet-name>HelloWorld</servlet-name>
      <servlet-class>HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
      <servlet-name>HelloWorld</servlet-name>
      <url-pattern>/hello</url-pattern>
    </servlet-mapping>

</web-app>

在 helloworld 目录下新建 HelloWorld.java 文件,编写如下类:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws ServletException, IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

当我们访问 /helloworld/hello 的时候,就可以看到输出了。

另外,还可以使用 /usr/share/tomcat9-examples/examples 中的一些示例来测试Tomcat是否正常运行。

例如,在 $CATALINA_HOME/webapps 下新建一个目录 examples,然后将 $CATALINA_HOME/webapps/examples.war 解压缩到该目录下,在浏览器中输入 http://localhost:8080/examples 可以看到 Tomcat 示例应用的主页。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Ubuntu Server 18.04 LTS 安装Tomcat并配置systemctl管理Tomcat服务的问题 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • jquery自定义下拉列表示例

    下面我来详细讲解一下“jQuery自定义下拉列表”的制作方法。 1. 简介 自定义下拉列表可以提升页面的交互体验,并且可以使页面更加美观。本文将使用jQuery来创建自定义下拉列表,包括如何使用HTML、CSS和JavaScript来实现。 2. 实现过程 下面我们以两个示例来详细讲解如何实现自定义下拉列表。 示例一 在这个示例中,我们将使用一个普通的&lt…

    Java 2023年5月19日
    00
  • Java基于Socket的文件传输实现方法

    Java基于Socket的文件传输实现方法 本篇攻略将介绍如何使用Java基于Socket实现文件传输的方法。通过该方法,可以实现发送方向接收方快速传输文件的目的。 准备工作 在进行文件传输前,需要准备的工作如下: 两台运行Java的计算机,分别充当发送方和接收方。 已处于同一网络下。 具备Java编程能力。 实现步骤 创建发送方和接收方的Socket对象。…

    Java 2023年5月19日
    00
  • Spring Security 核心过滤器链讲解

    对于Spring Security,核心过滤器链可以说是它的核心之一。本文将从什么是核心过滤器链、以及它包含哪些过滤器等方面进行详细讲解。 1. 什么是核心过滤器链? 核心过滤器链是Spring Security运作的基础。当一个请求进来时,它将会被一系列的过滤器处理,处理完成后才会交给真正的应用程序处理。核心过滤器链由一系列的过滤器组成,每个过滤器都有自己…

    Java 2023年5月20日
    00
  • 使用Java实现类似Comet风格的web app

    针对使用Java实现类似Comet风格的web app,我可以给您提供以下的攻略: 一、了解Comet Comet是一种Web服务器向浏览器发送异步数据的技术。在传统的Web应用程序中,客户端通过HTTP协议发起请求,服务器收到请求后即时返回响应。而Comet则是一种在Web服务器与浏览器之间建立持久连接的技术,使得服务端可以在有数据更新时主动向客户端推送数…

    Java 2023年5月19日
    00
  • IntelliJ IDEA使用教程从入门到上瘾(2019图文版)

    IntelliJ IDEA使用教程从入门到上瘾(2019图文版) IntelliJ IDEA 是一款集成开发环境(IDE),被广泛应用于 Java 开发。本教程将从入门到上瘾,讲解 IntelliJ IDEA 的使用方法。 下载和安装 IntelliJ IDEA 下载 IntelliJ IDEA 的安装包,可前往官网下载: https://www.jetbr…

    Java 2023年5月19日
    00
  • C语言解决青蛙跳台阶问题(升级版)

    我们来讲解一下C语言如何解决青蛙跳台阶问题的升级版。 问题描述 青蛙跳台阶问题是经典的递归问题,其升级版要求在每次跳跃中可以跳1、2、3……n级台阶,问跳上n阶台阶有多少种跳法。 解题思路 在解决青蛙跳台阶问题的升级版时,我们可以将问题转化为数学模型,假设 f(i) 表示跳上第 i 阶台阶需要的跳跃方法数,则有如下公式: f(i)=f(i-1)+f(i-2)…

    Java 2023年5月26日
    00
  • Spark SQL配置及使用教程

    Spark SQL 配置及使用教程 简介 Apache Spark 是一个快速、通用的大数据处理引擎,Spark SQL 是 Spark 的一个组件,支持使用 SQL、HiveQL 和 Scala 进行结构化数据处理。 本文将介绍 Spark SQL 的配置及使用教程,包括 Spark SQL 的配置、数据源加载、表操作、SQL 查询等内容,以及两个具体的示…

    Java 2023年5月19日
    00
  • mybatis原理概述入门教程

    介绍 MyBatis是一种持久层框架,它允许你使用普通SQL查询、存储过程和高级映射,以及高级映射的结果集和连接。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及缓存代码的需求。MyBatis可以与Spring框架集成。 MyBatis原理概述包括以下方面: 1.配置文件 2.映射文件 3.会话工厂 4.SqlSessionFactoryBui…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部