最近在学性能测试,过程中会应用到 Tomcat。这里记录下在 ubuntu 20.04 上装置 Tomcat 9 的过程,以便当前装置时能疾速上手。

装置 Java

Tomcat 9 要求 Java 的版本在 8 以上,这里就装置 openJDK 11。

首先应用 sudo 命令装置 JDK 安装包,输出以下命令。

   sudo apt update   sudo apt install openjdk-11-jdk

装置实现后,查看 Java 的版本来验证是否装置胜利。

  java -version

输入像以下的内容即为胜利。

openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)

为tomcat 创立一个零碎用户

以root用户容许tomcat 有危险,咱们将会建设一个零碎用户tomcat和用户组tomcat。
该用户的家目录是 /opt/tomcat。具体命令如下:

  # 新增一个零碎用户,用户名为tomcat, 属组与用户名雷同,家目录为/opt/tomcat,登录shell为/bin/false   sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

下载Tomcat 并做好利用筹备

执行上面的命令获取指定版本的Tomcat,并把该安装包放到当前目录下。

  wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.53/bin/apache-tomcat-9.0.53.zip

当下载实现后,解压安装包。

   unzip -o -d /opt/tomcat  apache-tomcat-9.0.53.zip

创立的零碎用户必须对tomcat 装置目录有拜访权限。批改/opt/tomcat的用户和用户组。

 sudo chown -R tomcat: /opt/tomcat 

再让Tomcat bin 目录下的shell 脚本必须可执行:

  sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Tomcat 服务化

为了应用标准化的形式来治理Tomcat, 咱们抉择把它作为服务来运行。

应用vim 在 /etc/systemd/system 目录下创立一个 tomcat.service 单元文件。

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

文件的内容如下

[Unit]Description=Tomcat 9 servlet containerAfter=network.target # 运行在网络服务开启后[Service]# 当初始化实现,父过程会退出。子过程会持续作为主过程执行。Type=forkingUser=tomcatGroup=tomcat# 定义服务须要应用的环境变量Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"Environment="CATALINA_BASE=/opt/tomcat"Environment="CATALINA_HOME=/opt/tomcat"Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"# 启动命令ExecStart=/opt/tomcat/bin/startup.sh# 终止命令ExecStop=/opt/tomcat/bin/shutdown.sh[Install] # 定义如何装置这个配置文件,即怎么做到开机启动。# 服务所在的 Target 是multi-user.target。在这个组里的所有服务,都将开机启动。WantedBy=multi-user.target

保留并且敞开文件,告诉 systemd 一个新的单元文件存在

  sudo systemctl daemon-reload

启用并且启动 Tomcat 服务:

  sudo systemctl enable --now tomcat

查看服务状态:

  sudo systemctl status tomcat  

当初你能够像其余systemd服务一样启动,进行和重启tomcat。

  sudo systemctl start tomcat  sudo systemctl stop tomcat  sudo systemctl restart tomcat

测试装置

关上你的浏览器,输出:http://<your_domain_or_IP_address>:8080

假如装置胜利,一个相似上面的页面将会呈现

参考文章

  1. 如何在 Ubuntu 20.04 上装置 Tomcat 9
  2. Systemd 入门教程:实战篇
  3. systemd.service 中文手册