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. leetcode 2 两数相加 JAVA

    题目: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示 ...

  2. Mysql 图形工具 Navicat

    Navicat 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库 官网下载:https: ...

  3. kali linux之msf信息收集

    nmap扫描 Auxiliary 扫描模块 目前有557个扫描方式

  4. Jmeter后置处理器之JSON Extractor

    一.使用场景 json extractor后置处理器用在返回格式为json的HTTP请求中,用来获取返回的json中的某个值.并保存成变量供后面的请求进行调用或断言等. 二.使用方法 步骤一:选择HT ...

  5. [译文]casperjs使用说明-使用命令行

    使用命令行 Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项 但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允 ...

  6. iOS学习笔记(1)--认识Xcode6.1的Interface Builder和常用快捷键

    Interface Builder基本界面 红色区域为工具栏(Tool Bar) 蓝色区域为导航区(Navigator Area) 绿色区域为编辑区(Editor Area) 黑色区域是调试区(Deb ...

  7. POJ3321 Apple Tree (JAVA)

    树形数组题,有一定难度. 首先得搞清楚树形数组是什么 - 它是建立在原始数组上的统计数组 - 目的:方便对原始数组进行切片统计,主要用于统计切片的累加和 其实你可以对切片进行扫描,把元素一个一个加起来 ...

  8. yum安装pip命令

    pip命令是python里的命令,类似于linux系统里的yum命令 我们只需要安装python-pip这个包即可. yum -y install  python-pip 在linux下还有一个命令: ...

  9. JQuery的get、post、ajax方法

    1.jQuery $.get() 方法 $.get() 方法通过 HTTP GET 请求从服务器上请求数据.  jQuery.get( url, [data], [callback] ):   参数: ...

  10. Go语言介绍

    Go语言简介 Go语言是谷歌2009发布的第二款开源编程语言. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程. Go ...