安装软件包,之前可以用rpm -q 命令查看一下是否存在,如果有这两个软件包先卸载再重新安装
yum -y install apr apr-devel
拷贝Tomcat安装目录下的bin目录下的tomcat-native.tar.gz
[root@www ~]# ls /usr/local/apache-tomcat-8.5.40/bin/
bootstrap.jar                 daemon.sh                     startup.sh
catalina.bat                  digest.bat                    tomcat-juli.jar
catalina.sh                   digest.sh                     tomcat-native.tar.gz
catalina-tasks.xml            setclasspath.bat              tool-wrapper.bat
commons-daemon.jar            setclasspath.sh               tool-wrapper.sh
commons-daemon-native.tar.gz  shutdown.bat                  version.bat
configtest.bat                shutdown.sh                   version.sh
configtest.sh                 startup.bat                  
[root@www ~]# cp /usr/local/apache-tomcat-8.5.40/bin/tomcat-native.tar.gz  ./
然后解压进行编译安装
tar xf tomcat-native.tar.gz  
[root@www ~]# cd tomcat-native-1.2.21-src/native/
[root@www native]# ./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/local/java  && make && make install
..........
[root@www native]# vim /usr/local/apache-tomcat-8.5.40/bin/catalina.sh 
//修改Tomcat安装目录下的bin目录下的catalina.sh文件,添加: CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
指定位置
vim /etc/profile
//修改/etc/profile重新声明变量,添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
vim /usr/local/apache-tomcat-8.5.40/conf/server.xml
//修改Tomcat的主配置文件server.xml,修改:  protocol=" ",改为APR
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
               connectionTimeout="20000"
               redirectPort="8443" />
然后重启服务
Tomcat的工作模式有三种
Java BIO :同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事会造成不必要的线程开销
Java NIO:同步非阻塞,服务器实现一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理
Java AIO(也叫APR(NIO 2)):异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理

tomcat-APR配置及三种工作模式简介的更多相关文章

  1. httpd2.4.6三种工作模式(如何配置),防止占用内存暴增的策略

    之前偷懒默认用yum安装了httpd.后来发现服务器内存暴增,一度达到75% 打开一看,好嘛后台休眠进程全是httpd. 重启之后再度访问发现内存还是稳步增长. [root@iz2ze3ayxs2yp ...

  2. Apache的三种工作模式及相关配置

    Apache的三种工作模式 作为老牌服务器,Apache仍在不断地发展,就目前来说,它一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块).它们分别是 prefor ...

  3. VMWare提供了三种工作模式上网

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1 ...

  4. VMWare三种工作模式 :bridge、host-only、nat

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式.这里 ...

  5. VMWare虚拟机网络的三种工作模式

    VMWare提供了三种工作模式: 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,需要手工为虚拟系 ...

  6. 转载-LVS的三种工作模式

    来源地址:http://www.uml.org.cn/zjjs/201211124.asp 1.lvs简介         lvs是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立 ...

  7. LVS集群的三种工作模式

    LVS的三种工作模式: 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1.N ...

  8. 2.LVS的三种工作模式_NAT模式

    1.LVS的三种工作模式 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1. ...

  9. LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

随机推荐

  1. Java8-Lambda-No.04

    public class Lambda4 { static int outerStaticNum; int outerNum; void testScopes() { int num = 1; Lam ...

  2. BZOJ2301——莫比乌斯&&整除分块

    题目 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 分析 莫比乌斯经典入门题. (我也刚学,就写 ...

  3. 浏览器顶部设置margin-top时存在的bug

    浏览器bug<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8 ...

  4. DbVisualizer用JDBC连接SQL Server

    1.安装驱动,解压后得到jar文件 Drivers 4.1 and 4.0 for SQL Serve http://www.microsoft.com/en-us/download/confirma ...

  5. 使用C++定义一个万能类型

    分享一个类似于Qt中QVariant类. 目录: 1 类型定义 2 数值操作 3 万能类型包装 4 使用 ——————————————————Begain—————————————————— 类型定义 ...

  6. JVM备忘点(1.8以前)

    1.内存结构 左边两个线程共享,右边三个线程私有. 方法区:.class文件的类信息.常量.static变量.即时编译器编译后的代码(动态代理).HotSpot将方法区称为永久代 堆:分为新生代和老年 ...

  7. 1937:【06NOIP普及组】数列

    woc 太捞了简直捞的一匹 我居然会写博客 反正呀没有人看 随便写写喽

  8. python 获取主机名称和ip地址

    python2.7 #!/usr/bin/env python # Python Network Programming Cookbook -- Chapter - # This program is ...

  9. white-space 标签 使用

    white-space MSD定义为: 是用来设置如何处理元素中的空白 其使用场景有很多,比如:横向滑动,超出显示省略号,输出空格显示空格等 1.横向滑动 在写手机页面的过程中,我想大部分人都遇到横向 ...

  10. JAVA基础知识|抽象类与接口类

    一.抽象类 抽象类:拥有抽象方法的类就是抽象类,抽象类要使用abstract声明 抽象方法:没有方法体的方法,必须要使用abstract修饰 为什么要使用抽象类,抽象方法? 举例来说,如果你定义了一个 ...