步骤 1. 安装 Java 8
Apache Tomcat 9 需要在服务器上安装 Java 8 或者更新版本。
查看我们之前的教程:如何在 Ubuntu 20.04 上安装 Java
Apache Tomcat 是一个 Web 服务器和 servlet 容器,用于为 Java 应用程序提供服务。
Apache Tomcat 是 Java Servlet 和 JavaServer Pages 技术的开源实现,由 Apache Software Foundation 发布。
本教程涵盖了 Ubuntu 20.04 LTS 服务器上最新版本的 Apache Tomcat 9 的基本安装和一些配置。
步骤 2. 安装 Tomcat 9 Ubuntu 20
01 首先,不建议以root用户运行Apache Tomcat,因此我们将创建一个新的系统用户来运行Apache Tomcat服务器
$sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
02 现在,转到官方 Apache Tomcat 网站并将最新版本的软件下载到服务器。
$VERSION=9.0.34 $wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz
03 下载完成后,将tar文件解压到/opt/tomcat
目录:
$sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/
04 Apache Tomcat 定期更新。
因此,为了更好地控制版本和更新,我们将创建一个符号链接,如下所示:
$sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
05 现在,让我们更改所有 Apache Tomcat 文件的所有权,如下所示:
$chown -R tomcat:tomcat /opt/tomcat/
06 使 bin 目录中的 shell 脚本可执行:
$sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
07 创建一个 systemd 文件,内容如下:
$vi /etc/systemd/system/tomcat.service [Unit] Description=Tomcat 9 server After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jre" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat/latest" Environment="CATALINA_HOME=/opt/tomcat/latest" Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/latest/bin/startup.sh ExecStop=/opt/tomcat/latest/bin/shutdown.sh [Install] WantedBy=multi-user.target
08 现在我们可以使用以下命令启动 Apache Tomcat 9 服务器并使其在启动时启动:
$systemctl daemon-reload $systemctl enable tomcat Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service. $systemctl start tomcat
09 Apache Tomcat 默认侦听端口 8080 。
在访问 Apache Tomcat 服务器之前,我们需要调整防火墙以允许我们的请求到达服务。
使用以下命令:
$sudo ufw allow 8080
通常,在生产环境中运行 Tomcat 时,我们应该使用负载均衡器或者反向代理。
10 我们现在应该能够在我们喜欢的 Web 浏览器中访问 Apache Tomcat 服务器。
打开浏览器并导航到http://IP_address:8080
,我们将看到如下所示的Apache Tomcat 主页。
步骤 3. 配置 Apache Tomcat Web 管理界面
01 默认情况下,我们无法访问Apache Tomcat Web管理界面,因为我们还没有创建用户。
Apache Tomcat 用户及其角色在 tomcat-users.xml
文件中定义。
打开 tomcat-users.xml
文件并添加以下几行:
# vi /opt/tomcat/conf/tomcat-users.xml <tomcat-users> <!- Comments --> <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="admin" password="PASSWORD_CHANGE_ME" roles="admin-gui,manager-gui"/> </tomcat-users>
02 默认情况下,Apache Tomcat Web 管理界面配置为仅允许从本地主机访问。
如果我们希望能够从远程 IP 或者从不推荐的任何地方访问 Web 界面,因为它存在安全风险,我们可以打开以下文件并进行以下更改。
$vi /opt/tomcat/webapps/manager/META-INF/context.xml <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" /> $vi /opt/tomcat/webapps/host-manager/META-INF/context.xml <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
在此配置中,我们允许来自子网 192.168.1.* 的任何 IP 访问 Apache Tomcat Web 管理界面。
03 最后重启 Apache Tomcat 服务器守护进程:
$systemctl restart tomcat