介绍
Apache Tomcat 是一个用于服务 Java 应用程序的 Web 服务器和服务器容器 Tomcat 是由 Apache Software Foundation 发布的 Java Servlet 和 JavaServer Pages 技术的开源实现,本教程涵盖了您 CentOS 7 服务器上最新版本 Tomcat 8 的基本安装和某些配置。
前提条件
在您开始使用本指南之前,您应该在您的服务器上设置一个单独的非根用户帐户,您可以通过完成 CentOS 7 的 初始服务器设置中的步骤 1-3 来学习如何做到这一点。
安装Java
Tomcat 要求 Java 安裝在伺服器上,所以任何 Java 網頁應用程式代碼都可以執行. 讓我們用 yum 安裝 OpenJDK 7 來滿足這個要求。
若要使用 yum 安装 OpenJDK 7 JDK,请运行以下命令:
1sudo yum install java-1.7.0-openjdk-devel
在提示中回答y
,继续安装OpenJDK 7。
请注意,我们需要稍后配置 Tomcat 的 JAVA_HOME 目录的捷径可在 `/usr/lib/jvm/jre 中找到。
现在Java已安装,让我们创建一个tomcat
用户,它将用于运行Tomcat服务。
创建 Tomcat 用户
出于安全原因,Tomcat 应该作为非特权用户运行(即不是 root)。
首先,创建一个新的tomcat
组:
1sudo groupadd tomcat
然后创建一个新的tomcat
用户,我们将使这个用户成为tomcat
组的成员,有/opt/tomcat
的首页目录(我们将安装Tomcat)和/bin/false
的壳(因此没有人可以登录帐户):
1sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
现在我们的tomcat
用户已设置,让我们下载并安装Tomcat。
安裝 Tomcat
目前安装Tomcat 8的最简单方法是下载最新二进制版本,然后手动配置。
点击下载Tomcat Binary
查找最新版本的 Tomcat 8 在 Tomcat 8 下载页面. 在写作时,最新版本是 8.5.37 . 在 ** 二进制分布** 部分,然后在 ** 核心** 列表中,复制链接到tar.gz
。
让我们下载最新的二进制分布到我们的主目录使用wget
。
首先,使用「yum」包管理器安装「wget」:
1sudo yum install wget
然后,更改您的家庭目录:
1cd ~
现在,使用wget
并粘贴到链接中来下载Tomcat 8档案,如下(你的镜子链接可能与示例不同):
1wget https://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
我们将安装Tomcat到‘/opt/tomcat’目录. 创建目录,然后用这些命令提取该档案:
1sudo mkdir /opt/tomcat
2sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
现在我们已经准备好设置适当的用户权限。
更新许可证
我们设置的tomcat
用户需要对Tomcat安装有正确的访问权限。
转到 Tomcat 安装路径:
1cd /opt/tomcat
在整个安装目录上授予tomcat
组所有权:
1sudo chgrp -R tomcat /opt/tomcat
接下来,给tomcat
组读取访问conf
目录及其所有内容,并执行访问目录本身:
1sudo chmod -R g+r conf
2sudo chmod g+x conf
然后,使tomcat
用户成为webapps
,work
,temp
和logs
目录的所有者:
1sudo chown -R tomcat webapps/ work/ temp/ logs/
现在设置了正确的权限,让我们设置一个 Systemd 单元文件。
安装系统单元文件
由于我们希望能够作为服务运行Tomcat,我们将设置一个Tomcat Systemd单元文件。
创建和打开单元文件,运行此命令:
1sudo vi /etc/systemd/system/tomcat.service
您也可能想要修改在「CATALINA_OPTS」中指定的内存分配设置:
1[label /etc/systemd/system/tomcat.service]
2# Systemd unit file for tomcat
3[Unit]
4Description=Apache Tomcat Web Application Container
5After=syslog.target network.target
6
7[Service]
8Type=forking
9
10Environment=JAVA_HOME=/usr/lib/jvm/jre
11Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
12Environment=CATALINA_HOME=/opt/tomcat
13Environment=CATALINA_BASE=/opt/tomcat
14Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
15Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
16
17ExecStart=/opt/tomcat/bin/startup.sh
18ExecStop=/bin/kill -15 $MAINPID
19
20User=tomcat
21Group=tomcat
22UMask=0007
23RestartSec=10
24Restart=always
25
26[Install]
27WantedBy=multi-user.target
此脚本告诉服务器作为tomcat
用户运行Tomcat服务,指定设置。
现在重新加载 Systemd 来加载 Tomcat 单元文件:
1sudo systemctl daemon-reload
现在你可以用这个systemctl
命令启动Tomcat服务:
1sudo systemctl start tomcat
检查服务是否通过键入成功开始:
1sudo systemctl status tomcat
如果您要启用Tomcat服务,以便在服务器启动时启动,请运行此命令:
1sudo systemctl enable tomcat
Tomcat 尚未完全设置,但您可以在 Web 浏览器中访问您的域或 IP 地址,然后是 `:8080:
1[secondary_label Open in web browser:]
2http://server_IP_address:8080
您将看到默认的Tomcat插槽页面,除了其他信息,现在我们将深入到Tomcat的安装。
设置 Tomcat Web 管理接口
为了使用与 Tomcat 一起提供的管理器 webapp,我们必须在我们的 Tomcat 服务器上添加登录,我们将通过编辑 tomcat-users.xml
文件来完成此操作:
1sudo vi /opt/tomcat/conf/tomcat-users.xml
此文件填充了描述如何配置文件的评论,您可能希望删除下列两行之间的所有评论,或者如果要引用示例,您可以留下评论:
1[label tomcat-users.xml excerpt]
2<tomcat-users>
3...
4</tomcat-users>
你想添加一个可以访问manager-gui
和admin-gui
的用户(包括Tomcat在内的Web应用程序)。
1[label tomcat-users.xml — Admin User]
2<tomcat-users>
3 <user username="admin" password="password" roles="manager-gui,admin-gui"/>
4</tomcat-users>
保存并删除 tomcat-users.xml 文件。
默认情况下,新版本的 Tomcat 会限制访问 Manager 和 Host Manager 应用程序的连接来自服务器本身. 由于我们正在安装在远程机器上,您可能希望删除或更改此限制。
对于管理员应用程序,键入:
1sudo vi /opt/tomcat/webapps/manager/META-INF/context.xml
对于 Host Manager 应用程序,键入:
1sudo vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
内部,请评论 IP 地址限制,以允许从任何地方连接. 或者,如果您想只允许访问来自自己的 IP 地址的连接,您可以将您的公共 IP 地址添加到列表中:
1[label context.xml files for Tomcat webapps]
2<Context antiResourceLocking="false" privileged="true" >
3 <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
4 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
5</Context>
保存并关闭文件,当你完成。
要实施我们的更改,请重新启动Tomcat服务:
1sudo systemctl restart tomcat
访问 Web 界面
现在Tomcat已启动并运行,让我们在网页浏览器中访问网页管理接口. 您可以通过访问服务器的公共IP地址,在端口8080上:
1[secondary_label Open in web browser:]
2http://server_IP_address:8080
你会看到一些如下图像:
正如你所看到的,有链接到我们配置了一个管理员用户的管理网页应用程序。
让我们看看管理员应用程序,可以通过链接或http://server_IP_address:8080/manager/html
访问:
Web Application Manager 用于管理 Java 应用程序. 您可以在这里启动、停止、重新加载、部署和卸载。 您也可以在您的应用程序上运行一些诊断(即查找内存漏洞)。
现在让我们看看主机管理器,可以通过链接或http://server_IP_address:8080/host-manager/html/`访问:
从虚拟主机管理器页面,您可以添加虚拟主机来服务您的应用程序。
结论
您的 Tomcat 安装完成了! 您现在可以免费部署自己的 Java Web 应用程序!