Tomcat支持三种接收请求的处理方式:

  BIO、NIO、APR ,本文记录tomcat配置APR模式,也是首选的模式。(Tomcat7 或以下,在 Linux 系统中默认使用BIO方式)

  1. 安装依赖库,逐行执行以下命令
    yum install apr-devel
    yum install openssl-devel
    yum install gcc
    yum install make
  2. 下载native(建议使用tomcat的bin目录下默认带有的native压缩包,如果没有再去下载)
    下载地址:http://tomcat.apache.org/download-native.cgi
    解压:tar -xvzf tomcat-native-1.2.10-src.tar.gz 
    进入native目录:cd tomcat-native-1.1.10-src/native/ 
    使用./configure命令
  3. 如果执行./configure的时候出现openssl错误(如果出现APR版本问题请参考 cent OS 第十篇,并将本文第4步的configure命令改成:./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/java/jdk1.8.0_144 --with-ssl=/usr/local/openssl),这其实是版本的问题,默认版本不是最新的
    https://www.openssl.org/source/找到最新版本的下载地址(目前为1.10版本最新)
    如果打不开可以直接使用:https://www.openssl.org/source/openssl-1.1.0f.tar.gz 
    下载方法:wget 下载地址即可
    执行如下命令:
    解压:tar -xvzf openssl-1.1.0e.tar.gz
    进入:cd openssl-1.1.0e/
    执行配置:./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
    编译安装:make && make install
  4. 安装好以后,再次进入第2步的native目录
    配置:./configure --with-ssl=/usr/local/openssl
    编译安装:make && make install
  5. 进入tomcat安装目录下的conf目录,编辑配置文件:server.xml
    将默认的protocol="HTTP/1.1"修改为protocol="org.apache.coyote.http11.Http11AprProtocol"
  6. 配置启动的依赖包,有两种方式:
    方式1:
    配置tomcat安装目录下:bin/catalina.sh文件引入apr
    在原有变量JAVA_OPTS后面追加对应的配置即可,添加一行新的就可以:JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"

    方式2: 
    编辑/etc/profile在最后添加如下两行内容
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
    export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib
    执行 source /etc/profile生效

  7. 到tomcat的bin目录
  8. 逐行执行
    ./shutdown.sh
    ./startup.sh
    重启tomcat查看启动日志

    参考链接1:http://www.cnblogs.com/freeweb/p/6430053.html
    参考链接2:  http://blog.csdn.net/xyang81/article/details/51502766

八、cent OS下tomcat启用APR并发模式的更多相关文章

  1. 九、cent OS下tomcat改变日志目录

    修改catalina.out的目录bin目录下修改catalina.sh:CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out  此行内的 ...

  2. 十二 Cent OS下 tomcat启动项目响应速度很慢

    在tomcat部署了web项目,每次启动项目都需要花费2-3分钟,甚至有的时候需要花费10分钟左右,实在是太慢了. 在网上查找解决方案,把 jdk/jre/lib/security/java.secu ...

  3. Cent OS下发送邮件

    首先安装发送邮件的服务: yum install -y sendmail 安装完成之后在安装mutt yum install -y mutt 安装完成之后我们就可以发送邮件了 mutt     tes ...

  4. cent os下搭建简单的服务器

    作为常和网络打交道的程序员,经常会遇到需要服务器的场合,比如搭建一个web服务器,一个代理服务器,又或者一个小型的游戏服务器. 我时常和朋友一起玩一款叫我的世界的游戏,为了能够长期稳定地联机玩,所以特 ...

  5. Cent OS 下 VI 使用方法

    vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命 ...

  6. linux下tomcat配置APR方式HTTPS

    一.安装APR 创建/usr/local/apr tar zxvf apr-1.4.5.tar.gz cd apr-1.4.5 ./configure --prefix=/usr/local/apr/ ...

  7. (windows下)tomcat优化--内存,并发.缓存三方面优化

    一.内存 注: jdk1.8中废弃了-XX:PermSize和-XX:MaxPermSize的持久态(存放常量.静态变量区)配置, 多了一个元数据区(Metadata Space:默认为内存的0.2% ...

  8. 十一、cent OS下搭建SVN服务器

    安装SVN命令:yum install subversion 查看安装位置:rpm -ql subversion,我们看到它在/usr/bin目录下生成了svn的二进制文件 查看svn版本:/usr/ ...

  9. Cent OS下配置虚拟Ip地址

    1.首先我们登录操作系统 用户名root 密码 123456 然后我们输入ip查询命名 ip addr  也可以输入 ifconfig查看ip,但此命令会出现3个条目,centos的ip地址是ens3 ...

随机推荐

  1. struts2的优缺点

    Struts2框架10个优点:1.可以用任何POJO(存粹的java类)来接收表单输入.可以把POJO视为一个Action类 Action类:获得Form表单数据,并处理逻辑的类: DAO类:进行数据 ...

  2. Jmeter打开url时提示“请在微信客户端打开链接问题”

    前提: 1.HTTP信息头管理器已添加了“User-Agent” 2.工作台添加HTTP代理服务器(注意端口和客户端填写的代理端口要一致) 但是运行的时候总是提示“请在微信客户端打开链接” 查阅各种资 ...

  3. 基础篇:6.1)形位公差-要素 Feature

    本章目的:理解形位公差研究的对象-要素,即点.线.面. 1.定义 2.类型 2.1 按存在的状态分 2.2 按结构特征分 2.3 按所处的地位分 2.4  按结构性能分 2.5  按与尺寸关系分

  4. Go语言特殊函数介绍

    main 函数 Go语言程序的默认入口函数(主函数):func main()函数体用{}一对括号包裹.只能应用于package main func main(){ //函数体 } init 函数 go ...

  5. ZOJ - 2112 主席树套树状数组

    题意:动态第k大,可单点更新,操作+原数组范围6e4 年轻人的第一道纯手工树套树 静态第k大可以很轻易的用权值主席树作差而得 而动态第k大由于修改第i个数会影响[i...n]棵树,因此我们不能在原主席 ...

  6. java设计模式学习笔记

    简介 设计模式可以分为五类 接口型 模式:适配器模式,外观模式,合成模式,桥接模式 职责型 模式:单例模式,观察者模式,调停者模式,代理模式,职责链模式,享元模式 构造型 模式:构建者模式,工厂方法模 ...

  7. JobScheduler布置后台任务以及实现进程保活?

    1.简介 在Android 5.0 提供了一套新的 JobScheduler API,它允许您定义要在以后的某个时间或在指定的条件下(例如,当设备在充电时)异步运行的作业来优化电池寿命. https: ...

  8. js中this那些事儿

    前几天写东西由于恶趣味作祟将所有的函数全部封装在json中,起初好好的,函数B也可以调用函数A的内容,不过在写一个点击事件时出现了意外, 代码如下: var $ ={ "A":fu ...

  9. spark第八篇:与Phoenix整合

    spark sql可以与hbase交互,比如说通过jdbc,但是实际使用时,一般是利用phoenix操作hbase.此时,需要在项目中引入phoenix-core-4.10.0-HBase-1.2.j ...

  10. UUID生成工具

    public class UUIDUtils { private static SecureRandom SEEDER_STATIC = null; private static byte[] ADD ...