## 三个依赖包
wget https://mirrors.cnnic.cn/apache/apr/apr-1.6.5.tar.gz
wget https://mirrors.cnnic.cn/apache/apr/apr-iconv-1.2.2.tar.gz
wget https://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
## 安装Apr
```
tar -zxvf apr-1.6.5.tar.gz
./configure --prefix=/usr/local/apr
make && make install
```
## 安装apr-iconv
```
tar -zxvf apr-iconv-1.2.2.tar.gz
./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-iconv
make && make install
```
## 安装apr-util
```
tar -zxvf apr-util-1.6.1.tar.gz
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-iconv=/usr/local/apr-iconv/bin/apriconv
make && make install
```
如果编译出错请执行下面
```
yum -y install expat-devel
```
## 安装 tomcat-native
在tomcat的bin目录下有一个tomcat-native.tar.gz
解压
```
解压在进入native目录执行以下操作
./configure --with-apr=/usr/local/apr --with-java-home="jdk路径"
make && make install
```
## 修改环境变量
```
vi /etc/profile
#apr
export LD\_LIBRARY\_PATH=/usr/local/apr/lib
source /etc/profile #重新加载环境变量
```
## 配置tomcat
修改tomcat的bin目录下的server.xml
```
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
把on改为off
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="300"
minSpareThreads="30"/>
<Connector executor="tomcatThreadPool"
port="8080"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443"
acceptCount="900"
disableUploadTimeout="true"
URIEncoding="UTF-8"
enableLookups="false"
compression="on"
compressionMinSize="1024"
/>
## 注释掉下面那行,如果不用apache
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
```
- JDK常用知识库
- JDK各个版本安装
- Java8流
- 算法
- 十大排序算法
- 冒泡排序
- 选择排序
- 插入排序
- 归并排序
- 快速排序
- 堆排序
- 希尔排序
- 计数排序
- 桶排序
- 基数排序
- 总结
- 常用工具类
- 浮点型计算
- 时间格式处理
- 常用功能点思路整理
- 登录
- 高并发
- 线程安全的单例模式
- Tomcat优化
- Tomcat之APR模式
- Tomcat启动过慢问题
- 常用的数据库连接池
- Druid连接池
- 缓存
- Redis
- SpringBoot整合Redis
- 依赖和配置
- RedisTemplate工具类
- 工具类使用方法
- Redis知识库
- Redis安装
- Redis配置参数
- Redis常用Lua脚本
- MongoDB
- SpringBoot操作MongoDB
- 依赖和配置
- MongoDB工具类
- 工具类使用方法
- 消息中间件
- ActiveMq
- SpringBoot整合ActiveMq
- 框架
- SpringBoot
- 定时任务
- 启动加载
- 事务
- JSP
- 静态类注入
- SpringSecurity
- Shiro
- 配置及整合
- 登陆验证
- 权限验证
- 分布式应用
- SpringMVC
- ORM框架
- Mybatis
- 增
- 删
- 改
- 查
- 程序员小笑话
- 我给你讲一个TCP的笑话吧
- 二进制笑话
- JavaScript的那点东西
- JavaScript内置对象及常见API详细介绍
- JavaScript实现Ajax 资源请求
- JavaScript干货
- 架构师成长之路
- JDK源码解析
- ArrayList源码解读
- 设计模式
- 微服务架构设计模式
- 逃离单体炼狱
- 服务的拆分策略
- 全面解析SpringMvc框架
- 架构设计的六大原则
- 并发集合
- JUC并发编程
- 搜索引擎
- Solr
- Solr的安装
- 分布式服务框架
- Dubbo
- 从零开始学HTMl
- 第一章-初识HTML
- 第二章-认识HTML标签