最近在学性能测试,过程中会应用到 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 container
After=network.target # 运行在网络服务开启后
[Service]
# 当初始化实现,父过程会退出。子过程会持续作为主过程执行。Type=forking
User=tomcat
Group=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
假如装置胜利,一个相似上面的页面将会呈现
参考文章
- 如何在 Ubuntu 20.04 上装置 Tomcat 9
- Systemd 入门教程:实战篇
- systemd.service 中文手册