zoukankan      html  css  js  c++  java
  • 配置Tomcat apr运行模式

      tomcat中一共有三种运行模式,分别是:bio,nio,apr

      bio是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发的场景

      nio是基于java中非阻塞IO操作的API实现,比传统的i/o处理方式有更高的并发运行性能,启动时可以看到:

      

      apr是从操作系统级别解决异步IO问题,大幅度提高服务器的并发处理性能,也是Tomcat生产环境运行的首选方式

      目前Tomcat 8.x默认情况下全部是运行在nio模式下,而apr的本质就是使用jni技术调用操作系统底层的IO接口,所以需要提前安装所需要的依赖,首先是需要安装openssl和apr,命令如下:

    yum -y install openssl-devel
    yum -y install apr-devel

      安装之后,去tomcat官网下载native组件,native可以看成是tomcat和apr交互的中间环节,下载地址是:http://tomcat.apache.org/download-native.cgi 这里下载最新的版本1.2.10

      解压之后上传至服务器执行解压并安装:

    tar -xvzf tomcat-native-1.2.10-src.tar.gz
    cd tomcat-native-1.2.10-src/native/
    ./configure

      如果执行./configure的时候出现下面的错误:

      

      这种错误说明native需要openssl版本大于1.0.2 而目前系统版本是1.0.1e,所以需要更新版本,而yum源最新的openssl也就到1.0.1e版本,所以现在必须手动去openssl官网下载安装包进行编译安装,编译时编译到自定义目录和系统的openssl并存而且互不干扰,因为系统的openssl可能被一些软件所使用,这样一般安装在/usr/local/下便于管理

      openssl官网:https://www.openssl.org/

      下载地址是:https://www.openssl.org/source/ ,这里下载最新版本的1.1.0e

      

      下载之后执行如下命令安装:

    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

      稍等一会就安装成功了,现在再次进入native刚才编译的目录下,重新执行如下命令安装:

    ./configure --with-ssl=/usr/local/openssl
    make && make install

      其中编译指定--with-ssl为刚才新安装的目录,否则会自动寻找系统目录;安装成功之后,默认位置是在:/usr/local/apr

      然后进入tomcat安装目录,编辑配置文件:conf/server.xml

      

      如图所示,将默认的protocol="HTTP/1.1"修改为protocol="org.apache.coyote.http11.Http11AprProtocol"

      修改完成保存并退出,然后有以下两种方法来引入apr:

      方法1:配置tomcat安装目录下:bin/catalina.sh文件引入apr,推荐这种方式:

      

      如图所示在原有变量JAVA_OPTS后面追加对应的配置即可,添加一行新的就可以:JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"

      然后保存并退出

      方法2:在环境变量中加入apr的目录,让tomcat可以使用系统变量搜索到,编辑/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 使配置生效

      以上两种方法都是可以的,配置完成之后,重启一下tomcat,然后查看日志logs/catalina.out可以看到http已经以apr模式启动了

      

  • 相关阅读:
    高盛、沃尔玛 题做出来还挂了的吐槽
    amazon师兄debrief
    到所有人家距离之和最短的中点 296. Best Meeting Point
    问问题没人回答的情况怎么办终于有解了
    找名人 277. Find the Celebrity
    数组生存游戏 289. Game of Life
    547. Number of Provinces 省份数量
    428. Serialize and Deserialize Nary Tree 序列化、反序列化n叉树
    alias别名简介和使用
    面试官:线程池执行过程中遇到异常会发生什么,怎样处理? Vincent
  • 原文地址:https://www.cnblogs.com/freeweb/p/6430053.html
Copyright © 2011-2022 走看看