• centos 7 安装tomcat开启apr并应用于springboot


    小伙伴们,你们好呀!我是老寇!

    一.简介

    1.BIO模式

    1.1.BIO模式介绍

    1).阻塞式I/O,tomcat7及以下默认是bio模式

    2).每个客户端连接时,需要单独开启一个线程来处理客户端的请求

    1.2.BIO模式缺点

    1).客户端较多时,需要大量的线程来处理,而且每个线程需要占用一部分栈空间

    2).阻塞可能带来频繁的上下文切换

    2.NIO模式

    2.1.NIO模式介绍

    1).非阻塞I/O,nio是一个基于缓冲区并能提供非阻塞I/O的JavaAPI,比bio拥有更好的并发运行性能,核心组件包括channel(通道) => 类似流,双向通道,可读可写;selector(选择器)=> 根据不同事件,在各通道切换;buffer(缓冲区)=> 一个内存块,底层是数据

    2).tomcat8及以上版本默认使用nio模式

    2.2.NIO原理

    1).由专门的线程来处理所有I/O事件、并负责分发

    2).事件驱动机制,而不再同步地去监视事件

    3).线程之间通过wait、notify等方式通讯,保证每次上下文切换有意义,减少无谓线程切换

    3.APR模式

    3.1.APR模式介绍

    Apache 可移植运行库,tomcat使用JNI来调用,大幅度提高了服务器的处理和响应性能,是tomcat运行高可用应用的首选模式

    二、下载APR

    apr安装包:https://pan.baidu.com/s/1swrV9ffJnmz4S0mfkuBbIw 
    提取码:1111

    三、安装APR

    1.安装过程

    1. # 安装 插件 gcc
    2. yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel expat-devel
    3. # 将下载的文件放在/opt
    4. cd /opt
    5. tar -xvzf /opt/apr-1.7.0.tar.gz
    6. cd apr-1.7.0
    7. ./configure --prefix=/usr/local/apr/lib
    8. make && make install
    9. cd /opt
    10. tar -xvzf /opt/apr-iconv-1.2.2.tar.gz
    11. cd apr-iconv-1.2.2
    12. ./configure --with-apr=/usr/local/apr/lib --with-java-home=/usr/local/jdk
    13. make && make install
    14. cd /opt
    15. tar -xvzf /opt/apr-util-1.6.1.tar.gz
    16. cd apr-util-1.6.1
    17. ./configure --with-apr=/usr/local/apr/lib --with-java-home=/usr/local/jdk
    18. make && make install
    19. cd /opt
    20. tar -xvzf /opt/tomcat-native-1.2.33-src.tar.gz
    21. cd tomcat-native-1.2.33-src/native
    22. ./configure --with-apr=/usr/local/apr/lib --with-java-home=/usr/local/jdk
    23. make && make install

    2.配置环境

    1. vi /etc/profile
    2. export LD_LIBRARY_PATH=/usr/local/apr/lib
    3. # 生效配置
    4. source /etc/profile

    四、springboot配置

    1.代码编写

    1. public class XXXApplication implements WebServerFactoryCustomizer<WebServerFactory> {
    2. public static void main(String[] args) {
    3. SpringApplication.run(XXXApplication.class, args);
    4. }
    5. @Override
    6. public void customize(WebServerFactory factory) {
    7. TomcatServletWebServerFactory containerFactory = (TomcatServletWebServerFactory) factory;
    8. containerFactory.setProtocol("org.apache.coyote.http11.Http11AprProtocol");
    9. }
    10. }

    2.环境配置

    -Djava.library.path=/usr/local/apr/lib

    3.运行截图

    大功告成

  • 相关阅读:
    js基础知识整理之 —— 数组
    详谈mysql各种常用操作数据表结构的用法【建议收藏】
    IDEA的使用-快捷键
    多商户商城系统功能拆解27讲-平台端分销结算设置
    离散型行业与MES系统——密不可分的关系
    VS使用Developer Command Prompt 命令行编译和执行C++代码
    “高级Java注解的简介及应用“
    我的 React 最佳实践
    ​力扣解法汇总808. 分汤
    【教3妹学MQ】kafka的工作流程是怎么样的?
  • 原文地址:https://blog.csdn.net/qq_39893313/article/details/125473896