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

相关推荐
Boilermaker19921 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维1 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
alonewolf_992 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子2 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji34162 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
恋爱绝缘体12 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wszy18093 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
wszy18093 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
程序员小假4 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
资生算法程序员_畅想家_剑魔4 小时前
Kotlin常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin