web server apache tomcat11-23-APR

server/2024/9/24 13:13:11/

前言

整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。

开源项目

从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。

系列文章

web server apache tomcat11-01-官方文档入门介绍

web server apache tomcat11-02-setup 启动

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

web server apache tomcat11-11-Jasper 2 JSP Engine

web server apache tomcat11-12-SSL/TLS Configuration

web server apache tomcat11-13-SSI

web server apache tomcat11-14-CGI

...

介绍

Tomcat可以使用Apache Portable Runtime提供基于OpenSSL的TLS实现来为HTTP连接器提供服务。

这些功能使得Tomcat成为通用的Web服务器,能够更好地与其他本地Web技术集成,从整体上使Java更具有全面的Web服务器平台性能,而不仅仅是一个面向后端的技术。

安装

APR支持需要安装三个主要的本地组件:

  • APR库
  • Tomcat使用的APR的JNI包装器(libtcnative)
  • OpenSSL库

Windows

针对tcnative-2提供了Windows二进制文件,这是一个静态编译的.dll文件,包含了OpenSSL和APR。可以从这里下载32位或AMD x86-64位的二进制文件。在安全意识型的生产环境中,建议使用单独的共享dll文件来安装OpenSSL、APR和libtcnative-2,并根据安全公告进行更新。Windows OpenSSL二进制文件链接自官方OpenSSL网站(参见相关/二进制文件)。

Linux

大多数Linux发行版都会提供APR和OpenSSL的软件包。然后JNI包装器(libtcnative)将必须进行编译。它依赖于APR、OpenSSL和Java头文件。

要求:

  • APR 1.6.3+开发头文件(libapr1-dev软件包)
  • OpenSSL 1.1.1+开发头文件(libssl-dev软件包)
  • 来自Java兼容JDK 1.4+的JNI头文件
  • GNU开发环境(gcc、make)

包装器库源代码位于Tomcat二进制包中的bin/tomcat-native.tar.gz存档中。一旦安装了构建环境并提取了源存档,就可以使用以下命令编译包装器库(从包含配置脚本的文件夹中):

./configure && make && make install

APR组件

一旦库正确安装并对Java可用(如果加载失败,则会显示库路径),Tomcat连接器将自动使用APR。

APR生命周期监听器配置

参见监听器配置。

参考资料

https://tomcat.apache.org/tomcat-11.0-doc/apr.html


http://www.ppmy.cn/server/24701.html

相关文章

K8S - 各节点的kube-flannel-ds-amd64-xxxxx不能正常启动的问题

- kubectl get pods -A -o wide - 查看日志发现 - pods "kube-flannel-ds-amd64-xxxxx" is forbidden: User "system:serviceaccount:kube-system:flannel" cannot get resource "pods" in API group "" in the namespace "kube-…

pgvector扩展在IvorySQL Oracle兼容模式下的应用实践

向量数据库是生成式人工智能(GenAI)的关键组成部分。作为PostgreSQL的重要扩展,pgvector支持高达16000维的向量计算能力,使得PostgreSQL能够直接转化为高效的向量数据库。 IvorySQL基于PostgreSQL开发,因此它同样支持添加pgvector扩展。在Ora…

【LangChain系列 14】语言模型概述

本文速读 LLMs 对话模型 LangChain集成了两种语言模型: LLM:输入文本,返回文本 对话模型:基于LLM,输入Message列表,返回一条Message LLM和对话模型之间有着细微且重要的不同。在LangChain中&#xff0…

【C++刷题】优选算法——动态规划第六辑

【模板】01背包 状态表示:dp1[i][j]: 表示从前i个物品中挑选总体积不超过j的物品,在所有的选法中,能挑选出的最大价值dp2[i][j]: 表示从前i个物品中挑选总体积正好等于j的物品,在所有的选法中,能挑选出的最大价值 优化:利用滚动数…

spring的CacheManager

org.springframework.cache.CacheManager是Spring框架中的一个接口,用于管理应用程序中的缓存。它提供了一种抽象的方式来访问缓存,使得应用程序可以使用不同的缓存实现(如内存、Redis等)而不需要修改代码。 在Spring Boot项目中…

海外私人IP和原生IP有什么区别,谁更有优势?

海外私人IP和原生IP在定义、特性以及应用场景上均存在显著的差异,各自的优势也因其特性而异。下面将详细探讨这两者的区别及各自的优势。 海外私人IP通常指的是一种位于海外的网络服务,它允许用户通过代理服务器访问海外网络,获取并使用位于…

使用递归方式实现多级菜单树 Java实现

在Java中,使用递归来实现菜单树通常涉及到遍历原始菜单列表,并为每个菜单项找到其对应的子菜单项。这个过程可以通过创建一个方法来完成,该方法会检查每个菜单项的parentId,并将其作为子菜单项添加到具有相应id的父菜单项的childr…

面试中算法(最小栈)

最小栈的实现 实现一个栈,该栈有出栈(pop)、入栈(push)、取最小元素(get_min) 。要保证时间复杂度都是O (1)。 第1步:设原有的栈叫作栈A,额外的“备胎”栈B,用于辅助栈A。 当第1个元素进入栈A时&#xff0c…