zoukankan      html  css  js  c++  java
  • tomcat-APR配置及三种工作模式简介

    安装软件包,之前可以用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先完成了再通知服务器应用去启动线程进行处理
  • 相关阅读:
    centos7 升级openssh到openssh-8.0p1版本
    CentOS7.6安装docker最新版
    通过iptables限制docker容器端口
    nginx设置反向代理,获取真实客户端ip
    CentOS7.6使用Virt-manager创建虚拟机报错
    CentOS7添加/删除用户和用户组
    ubuntu14.04 部署nfs服务
    centos7 firewall指定IP与端口访问(常用)
    linux下yum安装最新稳定版nginx
    C语言中点操作符(.)和箭头操作符(->)
  • 原文地址:https://www.cnblogs.com/chenxi123/p/11627698.html
Copyright © 2011-2022 走看看