首先说明下tomcat connector运行的3中模式及区别:

1)bio

默认的模式,同步阻塞,性能非常低下,没有经过任何优化处理和支持.

2)nio 

同步非阻塞,利用java的异步io护理技术,noblocking IO技术.

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为

protocol="org.apache.coyote.http11.Http11NioProtocol"

启动后,就可以生效。

3)apr 

安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能. Tomcat apr也是在Tomcat上运行高并发应用的首选模式。

必须要安装apr、apr-util和native,nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol,直接启动就支持apr。

安装步骤:

1、下载

wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.2.tar.gz

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.0.tar.gz

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz

2、解压安装apr

tar zxvf apr-1.6.2.tar.gz

cd apr-1.6.2

./configure --prefix=/usr/local/apr && make && make install

3、解压安装apr-util

安装apr-util前请确认系统是否安装了expat-devel包,如没安装请安装,不然会报错。yum install expat-devel

tar zxvf apr-util-1.6.0.tar.gz

cd apr-util-1.6.0

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

4、安装openss-1.0.2l

为什么要安装1.0.2l版本?因为系统自带的1.0.1版本不支持tomcat-native,所以需要手动安装。不然tomcat-native安装会报错。

tar zxvf openssl-1.0.2l.tar.gz

cd openssl-1.0.2l

./config --prefix=/usr/local/openssl shared zlib && make && make install

检查openssl是否安装成功 /usr/local/openssl/bin/openssl version -a 显示1.0.2l版本为成功

5、安装tomcat-native

tar /usr/local/tomcat8/bin/tomcat-native.tar.gz

cd /usr/local/tomcat8/bin/tomcat-native-1.2.12-src/native

./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/java8/ --with-ssl=/usr/local/openssl/ && make && make install

6、使tomcat支持apr配置apr库文件

方式1:配置坏境变量:

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib" >> /etc/profile

echo "export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib" >> /etc/profile && source /etc/profile

方式2:catalina.sh脚本文件:在注释行# Register custom URL handlers下添加一行

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"

7、修改tomcat server.xml文件(把HTTP/1.1修改成红色文字)

<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443" />

8、启动tomcat

cd /usr/local/tomcat8/bin

./startup.sh

9、查看tomcat是否以http-apr模式运行

cat /usr/local/tomcat8/logs/catalina.out  如果有显示[http-apr-8080] 说明成功

10、tomcat停止不成功错误,如图:

解决办法:进入JDK目录,编辑java.security文件

vi /usr/local/java8/jre/lib/security/java.security

注释掉原来的securerandom.source行,新增此行,保存即可

securerandom.source=file:/dev/./urandom

Tomcat8 配置APR模式的更多相关文章

  1. tomcat8开启APR模式

    1 Apr模式介绍 Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术.APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP ...

  2. tomcat7.x配置APR高并发模式

    Tomcat支持BIO/NIO/APR三种运行模式 ,性能各色春秋! Apr插件提高Tomcat性能 Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术. APR(Apac ...

  3. CentOS7下配置Tomcat以APR模式+Tomcat Native运行

    在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服务器的 ...

  4. 基于APR模式的Tomcat8环境部署

    1.版本信息 组件名 版本号 jdk 1.8.111 tomcat 8.5.9 apr 1.6.3 apr-iconv 1.2.2 apr-util 1.6.2 tomcat-native 1.2.1 ...

  5. Tomcat 8.5 apr 模式配置

    tomcat APR模式配置 一.环境 操作系统:Ubutnu 14 ubuntu@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50~14.04 ...

  6. Tomcat在Linux服务器上的BIO、NIO、APR模式设置

    一.BIO.NIO.AIO 先了解四个概念: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写). 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时, ...

  7. tomcat bio nio apr 模式性能测试

    转自:tomcat bio nio apr 模式性能测试与个人看法 11.11活动当天,服务器负载过大,导致部分页面出现了不可访问的状态.那后来主管就要求调优了,下面是tomcat bio.nio.a ...

  8. Redis配置sentinel模式

    Redis配置sentinel模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 哨兵(sentinel)主要是完成三个功能:监控,通知,自动故障转移功能.sentinel是安装R ...

  9. Spring Boot切换为APR模式

    Spring Boot内置了tomcat容器,直接运行Application就可以启动web服务器. 在tomcat中提供了三种方式:BIO.NIO.APR. BIO tomcat7以下的版本都是BI ...

随机推荐

  1. Python协程 Gevent Eventlet Greenlet

    https://zh.wikipedia.org/zh-cn/%E5%8D%8F%E7%A8%8B 协程可以理解为线程中的微线程,通过手动挂起函数的执行状态,在合适的时机再次激活继续运行,而不需要上下 ...

  2. cratedb geo 查询

    cratedb支持的geo 查询还相对比较全,开发基本的功能已经够用了 安装cratedb 使用docker docker run -d -p 4200:4200 crate 创建数据库 创建表 CR ...

  3. chaos-engineering 的一些开源工具

    Chaos Monkey - A resiliency tool that helps applications tolerate random instance failures. The Simi ...

  4. 理解JAVA虚拟机(上)

    2016-04-16 23:10:50 在这里,我们进一步认识JAVA及JAVA虚拟机,包括它的体系结构和垃圾回收机制等,并通过虚拟机监控工具进行简单的性能调优. 一. JVM相关概念        ...

  5. 【转】提高你开发效率的十五个Visual Studio 2010使用技巧

    原文网址:http://developer.51cto.com/art/201203/321942.htm 2012-03-06 14:38 Ron Ngai Ron Ngai的博客 字号:T | T ...

  6. Sql Server中执行计划的缓存机制

    Sql查询过程 当执行一个Sql语句或者存储过程时, Sql Server的大致过程是 1. 对查询语句进行分析,将其生成逻辑单元,并进行基本的语法检查 2. 生成查询树(会将查询语句中所有操作转换为 ...

  7. 【转】Java 字节流与字符流的区别

    字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作 ...

  8. servlet中获取配置文件中的参数.

    web.xml (添加init-param) <?xml version="1.0" encoding="UTF-8"?> <web-app ...

  9. Spring batch学习 详细配置解读(3)

    第一篇讲到普通job 配置 那么spring  batch 给我们提供了丰富的配置,包括定时任务,校验,复合监听器,父类,重启机制等. 下面看一个动态设置读取文件的配置 1.动态文件读取 <?x ...

  10. Python——截取web网页长图

    # -*- coding: utf8 -*-import timeimport xlrdfrom selenium import webdriver def read_excel(filename): ...