如何在Ubuntu 16.04上安装和配置Apache Tomcat 8.5
Apache Tomcat是由Apache Software Foundation开发的开源Java Servlet实现。 除了实现Java Servlet之外,Tomcat还支持其他Java服务器技术,包括JavaServer Pages(JSP),Java表达式语言和Java WebSocket。 Tomcat为支持HTTP / 2的Java应用程序,JSSE的OpenSSL和TLS虚拟主机提供HTTP Web服务器。
在本教程中,我将向您展示如何在Ubuntu 16.04 LTS(Yakkety Yak)上安装和配置Apache Tomcat 8.5,以及如何在Ubuntu服务器上安装和配置必备Java 8。
前提条件
- Ubuntu 16.04 - 64bit
- 2 GB以上内存(推荐)
- 根特权
第1步 - 安装Java(JRE和JDK)
在这一步中,我们将从Ubuntu PPA存储库安装Java JRE和JDK。 为此,我们首先要安装一个新的软件包python-software-properties来管理存储库。
安装python软件属性:
sudo apt-get install python-software-properties -y
安装软件包后,添加新的PPA java存储库并运行apt-get update。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
接下来,使用apt从PPA存储库安装Java JRE和JDK:
sudo apt-get install oracle-java8-installer -y
这将需要一些时间,等到安装完成。
使用以下命令检查java版本:
java -version
您可以在下面看到所需的结果:
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
第2步 - 配置Java家庭环境
在第一步,我们已经安装了Java。 现在我们需要在Ubuntu服务器上配置JAVA_HOME环境变量,以便Java应用程序可以找到Java安装目录。 Tomcat需要正确设置JAVA_HOME环境。
在配置JAVA_HOME环境之前,我们需要知道Java目录在哪里。 使用以下命令检查Java目录的位置:
sudo update-alternatives --config java
Java目录=“ / usr / lib / jvm / java-8-oracle / jre ”
然后使用vim编辑环境文件:
vim /etc/environment
通过添加以下配置行添加JAVA_HOME环境:
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
保存文件并退出编辑器。
接下来,编辑.bashrc文件并添加行以导出JAVA_HOME环境变量:
vim ~/.bashrc
在文件末尾粘贴以下配置:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
export PATH=$JAVA_HOME/bin:$PATH
保存并退出,然后重新加载.bashrc文件。
source ~/.bashrc
确保没有错误,并检查JAVA_HOME环境:
echo $JAVA_HOME
你会看到java目录路径。
第3步 - 安装Apache Tomcat 8.5
在这一步中,我们将在用户tomcat下安装Apache Tomcat。
创建一个名为tomcat的用户和组:
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
注意 :
-s / bin / false =禁用shell访问。
-g tomcat =将新用户分配给组tomcat。
-d / opt / tomcat =定义用户的主目录。
接下来,转到/ opt目录并使用wget命令下载tomcat:
cd /opt/
wget http://mirror.wanxp.id/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gz
提取Tomcat归档并将目录重命名为“tomcat”。
tar -xzvf apache-tomcat-8.5.6.tar.gz
mv apache-tomcat-8.5.6 tomcat
将tomcat目录的所有者更改为tomcat用户,并使bin目录中的所有文件都可执行。
chown -hR tomcat:tomcat tomcat
chmod +x /opt/tomcat/bin/*
接下来,我们需要定义CATALINA_HOME目录,因此我们可以使用Apache Tomcat运行测试。 Catalina是Tomcat servlet容器。
使用vim编辑.bashrc文件:
vim ~/.bashrc
将配置行粘贴到下面的配置行:
export CATALINA_HOME=/opt/tomcat
保存并退出,然后重新加载.bashrc。
source ~/.bashrc
检查CATALINA_HOME环境。
echo $CATALINA_HOME
第4步 - 测试Apache Tomcat
在第3步中,我们配置了基本的Tomcat设置,在此步骤中,我们将进行一些测试,并确保我们的配置没有错误。
运行以下命令来测试Apache Tomcat:
$CATALINA_HOME/bin/startup.sh
确保结果是“Tomcat启动”以验证Tomcat是否已成功安装。
Tomcat正在使用端口8080,使用netstat命令检查服务器上的打开端口。
netstat -plntu
或者您可以使用Web浏览器访问服务器端口8080的IP地址(在我的情况下为http://192.168.1.100:8080)。 您将看到Apache Tomcat的默认页面。
接下来,停止Apache Tomcat,因为我们现在将使用服务文件运行Tomcat。 确保tomcat目录在tomcat用户下。
$CATALINA_HOME/bin/shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/
第5步 - 设置Apache Tomcat服务
在本教程中,我们希望使用一个systemd服务文件来运行Apache Tomcat作为tomcat用户,以便轻松启动和停止。 现在我们需要创建'tomcat.service'文件。
转到systemd系统目录并创建一个新的文件'tomcat.service'。
cd /etc/systemd/system/
vim tomcat.service
粘贴配置如下:
[Unit]
Description=Apache Tomcat 8 Servlet Container
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
保存文件并退出编辑器。
重新加载systemd守护进程,然后启动Tomcat服务,并将Apache Tomcat服务添加到启动时启动。
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
通过检查打开的端口来检查tomcat是否正在运行。
netstat -plntu
并检查tomcat状态,确保服务处于活动状态。
systemctl status tomcat
第6步 - 配置Apache Tomcat用户
在此步骤中,我们将为Apache Tomcat配置用户。 Tomcat已安装,默认情况下在端口8080上运行,我们可以从Web浏览器访问Tomcat,但是到现在为止,我们无法访问站点管理器仪表板。 这是本步骤的目的,启用和配置Tomcat用户,编辑文件“tomcat-users.xml”。
转到tomcat配置目录并使用vim编辑tomcat-users.xml。
cd /opt/tomcat/conf/
vim tomcat-users.xml
在第43行下创建一个新行并粘贴以下配置:
<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
保存并退出。
接下来,转到manager目录并编辑context.xml文件。
cd /opt/tomcat/webapps/manager/META-INF/
vim context.xml
评论第19和20行。
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</Context>
保存并退出。
然后转到主机管理器目录并再次编辑上下文文件。
cd /opt/tomcat/webapps/host-manager/META-INF/
vim context.xml
评论第19行和第20行。
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</Context>
保存并退出,然后重新启动tomcat。
systemctl restart tomcat
第7步 - 测试Tomcat
打开您的Web浏览器并输入您的服务器IP端口8080.您将看到Apache Tomcat主目录。
转到管理员信息中心,网址如下:
http://192.168.1.100:8080/manager/html
键入管理员用户名“admin”,密码为“mypassword”,第5步中的配置。
现在转到主机管理器仪表板,网址如下:
http://192.168.1.100:8080/host-manager/html
从第5步输入管理员用户和密码,您将看到Tomcat虚拟主机管理器。
Apache Tomcat 8.5已在Ubuntu 16.04上安装和测试。