23.APR/Native
Apache Portable Runtime (APR) based Native library for Tomcat
Table of Contents
Introduction
Tomcat可以用APR提供更高性能,更高的扩展性,更好的本地服务器端机制。APR是一个高性能的库,其使用在HTTP Server 2.x中。对于APR有很多的用法,其中包括高级IO特性(如sendfile,epoll,openssl),操作系统层级的机制(随机数的生成,系统状态查看等等),还有本地进程IPC机制(共享内存,pipeline,基于Unix的套接字编程)。
这些特性可以让Tomcat变成一个更加通用的webserver,有更好的与本地的native资源集成,利用java语言变成更加成熟可靠的webserver平台。
Installation
APR 需要下面的三个native组件安装:
- APR库
- 对APR的包装tomcat-native (libtcnative)
- OpenSSL库
Windows
Windows的二进制库为tcnative-1,这个直接被编译成.dll文件,这个dll文件中包含openssl和APR。你可以从 here下载到32位和AMDx86-64位的版本。
(一个dll全部包含)
在一些安全的场景中,建议使用分开的openssl,APR,libtcnative-1,并且根据适当的版本进行更新。
windows的openssl库的位置在 Official OpenSSL website。
Linux
大多数的Linux发行版都带了APR和Openssl。JNI的包装(libtcnative,实际上就是tomcat-native)也同样需要被编译。
要求:
- APR 1.2+ development headers (libapr1-dev package)
- OpenSSL 1.0.2+ development headers (libssl-dev package)
- JNI headers from Java compatible JDK 1.4+
- GNU development environment (gcc, make)
tomcat-native的源码在Tomcat的二进制的包中, in the bin/tomcat-native.tar.gz archive. 环境变量需要进行安装(from the folder containing the configure script):
./configure && make && make install
APR Components
一旦库被正确进行安装了,并且可以提供给java进行使用(如果失败了,Library的路径会被提示出来),Tomcat的连接器会自动的使用APR。配置APR的连接器就像配置其他的连接器一样简单,只需一些属性配置。
当APR启动后,下面的特性会加入到Tomcat中:
- 操作系统级别提供的安全的SessionID
- 操作系统层级的内存管理,cpu利用率,可以在Tomcat的status的Servlet中监控出来
APR Lifecycle Listener Configuration
APR Connectors Configuration
HTTP/HTTPS
For HTTP configuration, see the HTTP connector configuration documentation.
For HTTPS configuration, see the HTTPS connector configuration documentation.
An example SSL Connector declaration is:
<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="150"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true"
SSLCertificateFile="${catalina.base}/conf/localhost.crt"
SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />
AJP
For AJP configuration, see the AJP connector configuration documentation.
23.APR/Native的更多相关文章
- java+tomcat(apr,native)
#pdd 2014_12-24#安装java环境rpm -ivh jdk-7u72-linux-x64.rpm vim /etc/profile #set for java export JAVA_H ...
- Linux下配置tomcat+apr+native应对高并发
摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...
- (转)Linux下配置tomcat+apr+native应对高并发
摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...
- i.Windows下APR安装过程
1.下载安装native Windows下的APR安装和配置比较简单,可以直接下载Tomcat-native的二进制的版本包: 下载之后的目录结构为: tcnative-1.dll这个库已经包含了AP ...
- k.APR通道特殊配置
APR/native specific configuration The following attributes are specific to the APR/native connector. ...
- Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化
Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...
- Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式及apr配置
转: http://www.oschina.net/question/54100_16195omcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志. ...
- Tomcat 使用apr优化
最近业务服务器出现了一些问题,Nginx傲娇了,准备把加Nginx插件上的一些处理逻辑扔到后端的Tomcat的业务处理里面去,考虑到tomcat目前本来就压力山大,所以弄了弄apr库来优化tomcat ...
- React Native专题
转载注明出处:地址:http://www.lcode.org本文出自:[江清清的技术专栏]本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶 ...
随机推荐
- SET TEXTSIZE number
When you using sqlcmd to export some data by a query, you will found some column data is truncated i ...
- Git commit 常见用法
Git commit git commit 主要是将用户通过git add命令添加到暂存区里的改动给提交到本地的版本库,关于版本库的构成可以查看我先前的笔记. 每次提交我们都会在本地版本库生成 ...
- 使用Xcode6和IOS8SDK以后遇到的问题
定位.苹果在IOS8里面修改了定位授权协议,也就意味着你原来的app在ios8上很可能无法定位.目前最好的办法就是在app启动的时候调用IOS8的定位授权API来获取用户的授权,这样就不要在其他地方做 ...
- iOS10 app连接不上网络的问题
http://jingyan.baidu.com/article/29697b917f2069ab20de3c33.html
- leetcode 257
查找二叉树中根节点到叶子节点的所有路径: 本题有两种解法:递归解法和非递归解法,递归解法请参考:http://blog.csdn.net/booirror/article/details/477331 ...
- @Override的作用
@Override是伪代码,表示重写(不写也可以,但是有些IDE会报warning),不过写上有如下好处: 1.可以当注释用,方便阅读:2.编译器可以给你验证@Override下面的方法名是否是你父类 ...
- js作用域学习
代码解析至少分两步 1):查找var,function参数例如下面这个例子 a= 未定义 fn1={alert(2)}函数的话,是整个整体 2):逐行读代码:类似=+-%*等都是表达式,表达式可以改变 ...
- android的listview的详细用法
listview是android开发中的一个极其重要的控件.所以,要学会android,如果这个不会,基本是不会android的. 这里按照几个步骤介绍这个控件的使用. 1. 使用API中ArrayA ...
- 如何清理photoshop cs6 被升级的烦人的adobe creative cloud组件
安装photoshop cs6(虽然目前已经退出到cc 2015,不过因激活成熟度等,我还是偏向于使用cs6,够用!),默认安装adobe application manager. 不过如果不小心单独 ...
- linux下安装及配置和启动memcached
一.下载文件: 下载memcached和libevent,放到/hom/zwl/目录下 # wget http://www.danga.com/memcached/dist/memcached-1.2 ...