web server apache tomcat11-23-APR

前言

整理这个官方翻译的系列,原因是网上大部分的 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存档中。一旦安装了构建环境并提取了源存档,就可以使用以下命令编译包装器库(从包含配置脚本的文件夹中):

bash 复制代码
./configure && make && make install

APR组件

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

APR生命周期监听器配置

参见监听器配置。

参考资料

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

相关推荐
SimonKing2 分钟前
颠覆传统IO:零拷贝技术如何重塑Java高性能编程?
java·后端·程序员
sniper_fandc12 分钟前
SpringBoot系列—MyBatis(xml使用)
java·spring boot·mybatis
胚芽鞘68141 分钟前
查询依赖冲突工具maven Helper
java·数据库·maven
Charlie__ZS1 小时前
若依框架去掉Redis
java·redis·mybatis
咖啡啡不加糖1 小时前
RabbitMQ 消息队列:从入门到Spring Boot实战
java·spring boot·rabbitmq
玩代码1 小时前
Java线程池原理概述
java·开发语言·线程池
NE_STOP1 小时前
SpringBoot--如何给项目添加配置属性及读取属性
java
水果里面有苹果2 小时前
20-C#构造函数--虚方法
java·前端·c#
%d%d22 小时前
python 在运行时没有加载修改后的版本
java·服务器·python
金銀銅鐵2 小时前
[Kotlin] 单例对象是如何实现的?
java·kotlin