openjdk version '11.0.7' 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
2. 创建系统用户
在root用户下运行Tomcat存在安全风险。我们将创建一个新的系统用户和组,其主目录为/opt/tomcat,用于运行Tomcat服务。使用以下命令创建一个名为tomcat的新用户
bash
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
3. 下载Tomcat
从Tomcat下载页面下载Tomcat二进制分发版。在撰写本教程时,最新的Tomcat版本是9.0.35。请访问Tomcat 9下载页面以获取最新版本。使用wget将Tomcat的压缩文件下载到/tmp目录下
bash
VERSION=9.0.35
wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
下载完成后,将tar文件解压缩到/opt/tomcat目录
bash
sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat
为了方便升级,我们将创建一个名为latest的符号链接指向Tomcat安装目录
bash
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
在升级Tomcat时,只需解压缩较新的版本并更新符号链接指向新的版本。确保系统用户tomcat有权访问tomcat安装目录
bash
sudo chown -R tomcat: /opt/tomcat
Tomcat bin目录中的shell脚本必须是可执行的
bash
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/.sh'
这些脚本用于启动、停止和管理Tomcat实例。
4. 创建SystemD服务文件
为了更好地控制版本和更新,我们将创建一个SystemD服务文件,以便Tomcat可以作为服务运行。打开文本编辑器,然后在/etc/systemd/system目录中创建一个名为tomcat.service的文件
bash
sudo nano /etc/systemd/system/tomcat.service
将以下配置粘贴到文件中
bash
[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/latest'
Environment='CATALINA_HOME=/opt/tomcat/latest'
Environment='CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid'
Environment='CATALINA_OPTS=-Xms