Apache with Tomcat:分步安装和配置指南
Apache Tomcat是一个开源的web服务器和servlet容器,用于部署和服务Java web应用程序。大多数现代Java web框架都是基于servlet的,例如JavaServerFaces、Struts、Spring等。
Apache Tomcat在端口8080上默认还提供了一个HTTP连接器,即Tomcat也可以用作HTTP服务器。但是Tomcat的性能不如指定的web服务器(如ApacheHTTP服务器)的性能。
在大多数生产中,Tomcat与ApacheHTTPServer一起使用。ApacheHTTPServer处理HTML、图像等静态内容,并将对动态内容的请求转发给Tomcat。

本安装和配置指南
应用
到Apache和Ubuntu上的Tomcat 10。
1.安装Java
首先,一如既往地更新您的软件包:
sudo apt更新
您必须在系统上安装Java才能运行Tomcat服务器。Tomcat 10需要在您的系统上安装Java SE 8或更高版本。运行以下命令并安装OpenJDK 11 JDK包:
sudo apt安装openjdk-11-jdk
检查当前活动的Java版本:
java版本
openjdk
版本
"11
.0
.11
" 2021
-04-20
OpenJDK
运行时
环境
(
建筑
11
.0
.11
+9
-Ubuntu-0ubuntu2
.20
.04
)
OpenJDK
64
一点
服务器
VM
(
建筑
11
.0
.11
+9
-Ubuntu-0ubuntu2
.20
.04
,
混合的
模式
,
共享
)
代码语言:
CSS
(
css
)
2.创建Tomcat系统用户
在下运行Tomcat服务器
根
用户存在安全风险。因此,我们建议创建一个单独的用户帐户来运行Tomcat服务器。
以下命令将创建名为的用户和组
公猫
在您的系统上:
sudo useradd-m-d/opt/tomcat-U-s/bin/
错误的
公猫
代码语言:
JavaScript
(
javascript
)
3.安装和配置Apache Tomcat 10
Tomcat是一个独立于平台的工具,只要安装了Java,安装过程就很简单。首先,你需要从官方网站下载所需的版本,然后在你的文件系统中解压。
现在从Tomcat的官方下载页面下载Tomcat的最新二进制版本。
wget https:
//apache.mirrors.publice.co.uk/tomcat/tomcat-10/v0.0.8/bin/apache-tomcat-10.0.8.tar.gz
代码语言:
JavaScript
(
javascript
)
下载完成后,将tar文件提取到
/opt/tomcat
目录:
sudo tar xzvf apache-tomcat-10*tar.gz-C/opt/tomcat-条形组件=1
接下来,设置正确的文件权限:
sudo chown-R tomcat:tomcat/opt/tomcat/
sudo chmod-R u+x/opt/tomcat/bin
您应该在Tomcat服务器中为Web应用程序管理器创建一个用户。必须设置一个新的用户帐户才能使用Apache Tomcat Web应用程序管理器。
要执行此操作,请编辑
tomcat-users.xml
编辑器中的文件:
sudo-vim/opt/tomcat/conf/tomcat-users.xml
将以下代码粘贴到内部
标签。确保更改管理员和经理访问的密码。
<
角色
角色名称
=
“gui经理”
/>
<
使用者
用户名
=
经理
暗语
=
“密码”
角色
=
“gui经理”
/>
<
角色
角色名称
=
“管理gui”
/>
<
使用者
用户名
=
管理
暗语
=
“密码”
角色
=
“管理员gui,管理员gui”
/>
代码语言:
HTML,XML
(
xml
)
Tomcat提供了一个基于web的管理控制台。默认的Tomcat服务器不允许对Manager和Host Manager应用程序进行远程访问。但是,您只能从localhost访问它们。
要启用远程连接,请按照以下说明进行操作。
创建文件
conf/Catalina/localhost/manager.xml
:
sudo-vim/opt/tomcat/conf/Catalinalocalhost/manager.xml
添加以下内容:
<
上下文
有特权的
=
“真实”
反资源锁定
=
错误的
docBase
=
“{catalina.home}/webapps/manager”
>
<
阀门
类名
=
“org.apache.catalina.vvals.RemoteAddrValve”
允许
=
"^.*$"
/>
</
上下文
>
代码语言:
HTML,XML
(
xml
)
您还需要为主机管理器webapp创建xml文件,以允许远程主机访问。
sudo-vim/opt/tomcat/conf/Catalinalocalhost/host-manager.xml
添加以下内容:
<
上下文
有特权的
=
“真实”
反资源锁定
=
错误的
docBase
=
“${catalina.home}/webapps/主机管理器”
>
<
阀门
类名
=
“org.apache.catalina.vvals.RemoteAddrValve”
允许
=
"^.*$"
/>
</
上下文
>
代码语言:
HTML,XML
(
xml
)
4.创建Tomcat Systemd服务
我们需要创建一个启动脚本来将Tomcat作为systemd服务进行管理。让我们创建一个
tomcat.service
文件
sudo vim/etc/systemd/system/tomcat.service
将以下内容粘贴到文件中:
单元
说明=Tomcat
After=network.target
服务
类型=分叉
用户=tomcat
组=tomcat
环境
“JAVA_HOME=/usr/lib/jvm/JAVA-11-openjdk-amd64”
环境
“JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
环境
“CATALINA_BASE=/opt/tomcat”
环境
“CATALINA_HOME=/opt/tomcat”
环境
“CATALINA_PID=/opt/tomcat/temp/tomcat.PID”
环境
“CATALINA_OPTS=-Xms512M-Xmx1024M-服务器-XX:+UseParallelGC”
ExecStart=
选择
tomcat/bin/startup.sh
ExecStop=
选择
tomcat/bin/shutdown.sh
安装
WantedBy=多用户目标
代码语言:
JavaScript
(
javascript
)
重新加载systemd守护程序以应用更改:
sudo systemctl守护进程重载
将Tomcat设置为在启动时自动启动:
sudo systemctl启用tomcat
5.安装Apache HTTP服务器
Apache在Ubuntu的默认软件存储库中可用。要安装它,请键入以下命令:
sudo apt安装apache2
6.将Tomcat配置为使用Apache
要将Apache Tomcat服务器进程与Apache HTTP服务器集成,我们需要mod_jk模块
,它实现了Tomcat和Apache之间的接口,并结合了一些小步骤来根据我们的需求配置Apache和Tomcat。
6.1安装mod_jk模块
安装和配置
mod_jk
是使web服务器和应用程序服务器协同工作的关键。所以,让我们安装它:
sudo apt安装libapache2 mod jk
6.2使用Apache和Tomcat配置mod_jk。
您需要在Tomcat中启用AJP连接器,以便Apache服务器可以将请求重定向到Tomcat。您通过编辑Tomcat的
服务器.xml
文件
sudo-vim/opt/tomcat/conf/server.xml
确保下面的AJP连接器处于活动状态,且未被注释掉。
<
连接器
协议
=
“AJP/1.3”
港口城市
=
"8009"
secretRequired
=
错误的
重定向端口
=
"8443"
/>
代码语言:
HTML,XML
(
xml
)
我们需要配置ApacheHTTPServer来加载和初始化JK模块。
我们需要创建
/etc/apache2/workers.properties
文件该文件定义了Apache可以向其传递请求的Tomcat“worker”列表。
sudo vim/etc/apache2/workers.properties
并将以下内容粘贴到文件中:
#使用ajp13定义1个真正的工人
工人
列表
=工人1
#设置worker1(ajp13)的属性
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=
8009
代码语言:
PHP
(
php
)
接下来,在Apache主配置文件中引用此文件
apache2.conf
:
sudo vim/etc/apache2/apache2.conf
我们在末尾添加以下行:
JkWorkers文件/etc/apache2/workers.properties
#jk共享内存放在哪里
JkShm文件/
var
/log/apache2/mod_jk.shm
#jk日志放在哪里
JkLogFile/
var
/log/apache2/mod_jk.log
#设置jk日志级别[debug/error/info]
JkLogLevel信息
#选择时间戳日志格式
JkLogStamp格式
“[%a%b%d%H:%M:%S%Y]”
代码语言:
PHP
(
php
)
6.3配置要使用Apache管理的URL
在这一点上,您需要配置Apache来告诉它要处理哪些URL并将其切换到Tomcat,以及您希望Apache自己处理哪些URL。
sudo vim/etc/apache2/站点已启用/
000
-
违约
.conf
代码语言:
JavaScript
(
javascript
)
在下添加以下行
网站根目录
进入这使得通过Apache Web服务器请求JRS成为可能。
JkMount/examples worker1
JkMount/examples/*worker1
7.如何验证它是否有效
重新启动Apache和Tomcat服务:
sudo systemctl重启apache2
sudo systemctl重启tomcat
启动服务器后,打开互联网浏览器并浏览URL
http://server_ip_address:8080
。如果您看到的页面与下面显示的页面类似,则表明Tomcat安装正确。



验证ApacheHTTPServer和Tomcat之间的集成是否有效的一种简单方法是请求Tomcat应该提供的示例文件之一。
将浏览器指向
http://server_ip_address/examples/
并运行一些示例应用程序。


祝贺您已经成功地将Tomcat与Apache HTTP Server集成在一起。
结论
如果您想运行无缝快速运行的基于Java的应用程序,那么Apache Tomcat是最佳选择。
本教程教您如何使用Apache Web服务器安装和配置Tomcat应用程序服务器。我希望您现在有足够的信息在Tomcat服务器上部署基于Java的应用程序。
我希望你也觉得这本指南很有帮助。有关更多信息,请访问Tomcat Doc上的Tomcat官方文档。
感谢阅读!欢迎您的反馈和意见。
EndeavourOS发布Galileo Neo,以下是最新消息
Galileo主版本发布两个月后,EndeavourOS最近推出了最新版本Galileo Neo。Endeavour OS因其与Arch Linux非常相似,但具有更用户友好的方法而受到Linux爱好者的喜爱。 遵循“Neo”系列的传统,本版本主要关注基本修复和核心包更新。需要注意的是,它主要是为了增强安装过程,并且不会影响当前运行的系统,只要它们定期更新即可。 Galileo Neo有什么新功能
KDE推出所见即所得笔记应用程序
KDE开发者Mathis Brüchert宣布了Marknote应用程序的首个稳定版本,这是一款所见即所得(WYSIWYG)笔记应用程序,旨在重新定义用户如何创建、管理和个性化数字笔记。 Marknote以其用户友好的界面脱颖而出,该界面允许创建丰富的文本注释。这些笔记可以精心组织到笔记本中,使用户更容易高效地管理信息。每个笔记本电脑都可以定制独特的图标和强调颜色,提供视觉吸引力和有组织的数字笔记
QEMU 9.0首次推出先进的ARM和RISC-V功能
QEMU是一个著名的软件工具,允许用户模拟不同的计算机系统,它发布了最新的更新v9.0。它包含了220位作者提交的2700多个提交,引入了增强功能和新功能,以提高性能、可扩展性和可用性。 QEMU 9.0亮点 QEMU 9.0中的一个关键更新是块设备处理。virtio blk现在支持多队列,允许不同I/O线程同时处理单个磁盘的不同队列,显著提高了性能和效率。 对于那些从事调试工作的人来说,gdbs
5个最好的Linux目录突发工具
在每个Web应用程序pentest的侦察阶段,找到应用程序上可能的目录是至关重要的。这些目录可能包含重要的信息和发现,这将极大地帮助您发现应用程序中的漏洞并提高其安全性。 幸运的是,互联网上有一些工具可以使目录暴力强制更容易、自动化和更快。下面是Linux上的五个目录爆发工具,用于枚举Web应用程序上的隐藏目录。 什么是目录爆破? 目录爆发,也称为“目录暴力强制”,是一种用于道德黑客的技术,用于发
plocate命令作为一种更快的Linux定位替代方案
当您需要在Linux中搜索某些文件时,通常可以使用 发现 或 定位 命令。所以,现在你有了一个新的替代方案,叫做 用plocate . 用plocate 它的工作原理是在搜索字符串中的三元组(三个字节的组合)上创建一个反向索引,这使它能够快速将候选集缩小到一个小列表,而不是线性扫描每个条目。 以启发它的帖子列表命名, 这个 用plocate 指挥部旨在取代 mlocate 。虽然它仍然可以使用 更