如果要运行包含Java服务器页面编码或Java servlet的网页,可以使用Apache Tomcat 。 它是Apache Software Foundation发布的开源Web服务器和servlet容器。
Tomcat可以作为独立产品使用,具有自己的Web服务器,也可以与其他Web服务器(如Apache或IIS)结合使用。 最新版本的Tomcat是9.0.14 ,它构建在Tomcat 8和8.5之上,并实现了Servlet 4.0,JSP 2.2。
在本教程中,我们将向您展示如何在Ubuntu 18.10和旧版本的Ubuntu中安装Apache Tomcat 9 。
要运行Java Web应用程序,Tomcat需要在服务器上安装Java。 为了满足这个要求,我们将安装OpenJDK ,如图所示。
$ sudo apt update
$ sudo apt install default-jdk
出于安全原因, Tomcat应该与非特权用户(即非root用户)一起运行。 这就是为什么我们将创建将运行该服务的用户和组tomcat。 首先创建tomcat组:
$ sudo groupadd tomcat
接下来,我们将创建一个tomcat用户,该用户将成为tomcat组的成员。 这个用户的home位置是/ opt / tomcat,因为这是我们要安装Tomcat的地方。 shell设置为/ bin / false :
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
现在我们准备继续下一步并下载Tomcat。
要下载最新的软件包,请访问Tomcat的下载页面并获取最新版本。
在编写本教程时,最新版本的Tomcat是9.0.14 。 要下载该版本,请将当前目录更改为其他目录。 例如,您可以使用/ tmp :
# cd /tmp
然后使用wget命令下载Tomcat存档:
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
$ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512
如果要验证可以运行的文件的sha512总和:
$ sha512sum apache-tomcat-9.0.14.tar.gz
$ cat apache-tomcat-9.0.14.tar.gz.sha512
两个文件的结果值(哈希)应该相同。
如前所述,我们将在/ opt / tomcat中安装Tomcat。 我们必须创建该目录:
$ sudo mkdir /opt/tomcat
现在我们可以在新目录中提取下载的包:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
现在导航到/ opt / tomcat ,我们将更新文件夹所有权和权限:
# cd /opt/tomcat
并将/ opt / tomcat的组所有者设置为tomcat :
$ sudo chgrp -R tomcat /opt/tomcat
接下来我们将更新tomcat组对conf目录的读访问权限,并为目录设置执行权限:
$ sudo chmod -R g+r conf
$ sudo chmod g+x conf
接下来我们将创建webapps , work , temp和logs目录的tomcat用户所有者:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
现在已经设置了适当的权限和所有权,我们准备创建一个systemd启动文件,这将帮助我们管理Tomcat进程。
因为我们想要将Tomcat作为服务运行,所以我们需要一个可以帮助我们轻松管理流程的文件。 为此,我们将创建一个systemd服务文件。 Tomcat必须知道Java在您的系统中的位置。
要查找该位置,请使用以下命令:
$ sudo update-java-alternatives -l
该命令的输出将显示JAVA_HOME的位置。
查找Java主页
现在,使用该信息,我们准备创建我们的Tomcat服务文件。
$ sudo vim /etc/systemd/system/tomcat.service
将以下代码粘贴到文件中:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
确保将JAVA_HOME设置为系统的JAVA_HOME 。 准备好后,保存文件并关闭它。 现在,使用下面的命令,重新加载systemd守护程序,以便它可以找到我们的新服务文件:
$ sudo systemctl daemon-reload
然后启动Tomcat服务:
$ sudo systemctl start tomcat
您可以使用以下方式验证服务状态:
$ sudo systemctl status tomcat
验证Apache Tomcat状态
您现在可以使用系统的IP地址,然后使用服务默认端口8080在浏览器中测试Tomcat 。
http://ip-address:8080
您应该看到的结果类似于下图中显示的结果:
Apache Tomcat网页
如果您没有看到上述输出,则可能需要在防火墙中允许端口8080 ,如图所示。
$ sudo ufw allow 8080
如果您希望Tomcat在系统启动时启动,请运行:
$ systemctl enable tomcat
Tomcat有一个预安装的Web管理器应用程序。 为了使用它,我们需要在tomcat-users.xml文件中设置身份验证。 使用您喜欢的文本编辑器打开并编辑该文件:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
我们将添加一个能够访问管理器和管理界面的用户。 要在<tomcat-users> </tomcat-users>
标记之间配置此类用户,请添加以下行:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
确保更改:
配置Apache Tomcat
由于默认情况下对Host Manager和Manager的访问受到限制,我们将要删除或更改这些限制。 要进行此类更改,您可以加载以下文件:
对于经理应用:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
对于主机管理器应用:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
在这些文件中,您可以注释IP限制或允许您的公共IP地址。 出于本教程的目的,我对该行进行了评论:
允许Apache Tomcat访问
要进行实时更改,请使用以下命令重新加载tomcat服务:
$ sudo systemctl restart tomcat
您现在可以通过访问http:// ipaddress:8080 / manager / 来测试经理应用。 提示输入用户名和密码时,请使用先前配置的用户名和密码。 之后您应该看到的界面如下所示:
访问Apache Tomcat Manager
要访问主机管理器 ,您可以使用http:// ip-address:8080 / host-manager / 。
访问Apache Tomcat Virtual Host Manager
使用虚拟主机管理器,您可以为Tomcat应用程序创建虚拟主机。
您可以通过在/ opt / tomcat / webapps / ROOT /目录中创建测试文件来检查一切是否正常运行。
让我们创建这样的文件:
$ sudo vim /opt/tomcat/webapps/ROOT/howtoing.jsp
在该文件中粘贴以下代码:
<html>
<head>
<title>Howtoing post:TomcatServer</title>
</head>
<body>
<START OF JAVA CODES>
<%
out.println("Hello World! I am running my first JSP Application");
out.println("<BR>Howtoing is an Awesome online Linux Resource.");
%>
<END OF JAVA CODES>
</body>
</html>
保存文件并设置所有权,如图所示。
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/howtoing.jsp
现在使用http:// ip-address:8080 / howtoing.jsp在浏览器中加载该文件。
测试Apache Tomcat
而已! 您已完成Apache Tomcat服务器的设置并运行了第一个Java代码。 我们希望这个过程简单明了。 如果您遇到任何问题,请通过下面的评论表分享您的问题。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有