如何在 Ubuntu 20.04 上安装 Tomcat 9
Apache Tomcat 9 是可用于安装的最新版本。Tomcat 是一个开源 Web 服务器,用于 Apache 基金会开发的基于 Java 的应用程序。我们使用 Tomcat 来部署 Java Servlet 和 JSP 应用程序。
安装 Java
必须在系统上安装 Java 才能运行 tomcat 服务器。Tomcat 9 需要在系统上安装 Java 8 或更高版本。使用以下命令在系统上安装 OpenJDK,或者如果已安装,则跳过。
sudo apt install openjdk-11-jdk
检查当前活动 Java 版本:
java -version
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)
创建Tomcat帐户
我们建议创建单独的用户帐户,以在 Ubuntu 系统上运行 tomcat Web 服务器。
执行以下命令:
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
上述命令将在系统上创建名称为"tomcat"的用户和组。
下载Tomcat归档包
Apache Tomcat 开发团队不时发布最新版本的 Tomcat。因此,这将是很好的检查下载最新的Tomcat版本从官方下载服务器。使用下面的命令下载 Tomcat 9.0.35。
wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.35/bin/apache-tomcat-9.0.35.tar.gz
下载完成后,提取下载的归档包,并将所有内容复制到 tomcat 主目录。
tar xzf apache-tomcat-9.0.35.tar.gz sudo mv apache-tomcat-9.0.35/* /opt/tomcat/
此外,设置所有文件的权限。
sudo chown -R tomcat:tomcat /opt/tomcat/
还可以下载 Tomcat 8 而不是 Tomcat 9,并相应地更改上述命令。其余步骤操作一样。
启用主机/管理器远程访问
默认情况下,Tomcat 管理器和主机管理器只能从本地主机系统访问页面。要允许从远程系统访问这些页面,需要创建以下配置文件。
首先创建管理器 xml 文件:
sudo nano /opt/tomcat/conf/Catalina/localhost/manager.xml
添加以下内容
<Context privileged="true" antiResourceLocking="false" docBase="{catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context>
然后创建主机管理器 xml 文件:
vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml
添加以下内容
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context>
保存两个文件并关闭。
创建Tomcat访问凭据
现在,使用用户帐户配置 tomcat,以确保对管理员/管理器页面的访问。为此,编辑 [conf/tomcat-user.xml] 文件,并在标记中粘贴以下代码。我们建议使用高安全密码更改以下配置中的密码。
sudo nano /opt/tomcat/conf/tomcat-users.xml
添加以下值。请确保为管理员和管理器访问权限更改密码。
<green><!-- user manager can access only manager section --></green> <role rolename="<orange>manager-gui</orange>" /> <user username="<orange>manager</orange>" password="<orange>_SECRET_PASSWORD_</orange>" roles="<orange>manager-gui</orange>" /> <green><!-- user admin can access manager and admin section both --></green> <role rolename="<orange>admin-gui</orange>" /> <user username="<orange>admin</orange>" password="<orange>_SECRET_PASSWORD_</orange>" roles="<orange>manager-gui,admin-gui</orange>" />
保存文件并关闭。
创建一个Tomcat启动脚本
Tomcat 提供 bash 脚本以启动、停止服务。但是,要简化它,请创建一个启动脚本来管理 Tomcat 作为系统化服务。
让我们创建一个包含以下内容的 tomcat.service文件:
sudo nano /etc/systemd/system/tomcat.service
[Unit] Description=Tomcat 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" 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] WantedBy=multi-user.target
重新加载系统守护进程服务,使更改生效
sudo systemctl daemon-reload
然后,在系统上启用并启动 Tomcat 服务
sudo systemctl enable tomcat sudo systemctl start tomcat
访问Tomcat
Tomcat 服务器在端口 8080 默认值上工作。通过在端口 8080 上连接服务器,在 Web 浏览器上访问 Tomcat。
http://服务器ip或者域名:8080