步骤 1. 安装 Java 8
Apache Tomcat 9 需要在服务器上安装 Java 8 或者更新版本。
Java 8 软件包在默认的 CentOS 7 存储库中可用。
运行以下命令安装 Java 8
# yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64
安装完成后,我们可以使用以下命令检查安装的版本:
# java -version openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
Apache Tomcat 是一个 Web 服务器和 servlet 容器,用于为 Java 应用程序提供服务。
Apache Tomcat 是 Java Servlet 和 JavaServer Pages 技术的开源实现,由 Apache Software Foundation 发布。
步骤 3. 配置 Apache Tomcat Web 管理界面
默认情况下,我们无法访问 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>
默认情况下,Apache Tomcat Web 管理界面配置为仅允许从 localhost 访问。
如果我们希望能够从远程 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 管理界面。
最后重新启动 Apache Tomcat 服务器守护进程:
# systemctl restart tomcat
步骤 2. 安装 Tomcat 9
转到官方 Apache Tomcat 网站并将最新版本的软件下载到服务器。
目前最新版本是 9.0.34 版,这里
# VERSION=9.0.34 # wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz
使用以下命令解压下载的 Apache Tomcat 存档:
# tar -xzvf apache-tomcat-${VERSION}.tar.gz -C /opt
让我们将目录重命名为更简单的名称,如下所示:
# cd /opt # mv apache-tomcat-${VERSION} tomcat
不建议以root用户运行Apache Tomcat,因此我们将创建一个新的系统用户来运行Apache Tomcat服务器
# groupadd tomcat # useradd -g tomcat -d /opt/tomcat -s /bin/nologin tomcat useradd: warning: the home directory already exists. Not copying any file from skel directory into it.
创建 Apache Tomcat 用户后,让我们更改所有 Apache Tomcat 文件的所有权,如下所示:
# chown -R tomcat:tomcat /opt/tomcat/
使用以下内容创建一个 systemd 文件:
# vi /etc/systemd/system/tomcat.service [Unit] Description=Apache Tomcat 9 After=syslog.target network.target [Service] User=tomcat Group=tomcat Type=forking Environment=CATALINA_PID=/opt/tomcat/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=on-failure [Install] WantedBy=multi-user.target
现在,我们可以使用以下命令启动 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
Apache Tomcat 默认监听端口 8080 。
在访问 Apache Tomcat 服务器之前,我们需要调整防火墙以允许我们的请求到达服务。
使用以下命令:
# firewall-cmd --zone=public --permanent --add-port=8080/tcp # firewall-cmd --reload
我们现在应该能够在我们喜欢的 Web 浏览器中访问 Apache Tomcat 服务器。
打开浏览器并导航到 http://IP_address:8080,我们将看到 Apache Tomcat 的主页如下。