tomcat性能优化之如何搭建Apr模块

前言

tomcat是一个被广泛使用的java web容器,各种调优数不胜数,由于tomcat主要运行jsp等动态页面,所以其设计主要是针对动态页面进行优化,而对静态文件的处理效率并不高。

很多时候工程师更愿意使用nginx或者apache服务器来辅助tomcat处理静态文件来提高服务器运行效率,但其实tomcat本身可以调用apache的方法来处理静态文件,极大的提高处理效率。

tomcat服务器的三种模式bio (消息阻塞模式),nio(非阻塞模式) ,apr(使用apache静态文件处理库处理静态文件)

如何在一台全新的linux上部署tomcat的apr模块?

对于已稳定使用的机器可以直接看第三步

1.安装前如果发现yum源不合适

CentOS 5 修改yum源方式

wget -O /etc/yum.repos.d/CentOS-Base.repo 

http://mirrors.aliyun.com/repo/Centos-5.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo 

http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6 修改yum源方式

wget -O /etc/yum.repos.d/CentOS-Base.repo 

http://mirrors.aliyun.com/repo/Centos-6.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo 

http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7 修改yum源方式

wget -O /etc/yum.repos.d/CentOS-Base.repo 

http://mirrors.aliyun.com/repo/Centos-7.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo 

http://mirrors.aliyun.com/repo/Centos-7.repo

2.如果解析网址错误 curl: (6) Could not resolve host

配置dns步骤如下

vim /etc/resolv.conf 

#一般是个空文件,在文件里加这么两个dns配置

nameserver 114.114.114.114
nameserver 8.8.8.8

3.安装tomcat openssl和apr组件

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

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

4.安装native,apr,apr-util组件

先去tomcat官网下载native,apr,apr-util组件,native可以看成是tomcat和apr交互的中间环节,下载地址是:

http://tomcat.apache.org/download-native.cgi ,

apr 地址是  http://apache.fayea.com//apr 浏览器上去看一下,因为apache不定时更新。这里固定写以后可能wget 拉不下来,所以不固定写,大家自行下载

再解压安装

 tar -xvzf apr-1.6.5.tar.gz
 cd apr-1.6.5
 ./configure --prefix=/usr/local/apr
 make && make install

 tar -zxvf apr-util-1.6.1.tar.gz
 cd apr-util-1.6.1
 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

#然后这里make可能出问题 原因是少一个编译库 expat-devel
可以使用 yum install expat-devel -y 来进行安装
(如果这么来不行的话,只能从系统安装光盘里找了),然后

make && make install

再安装native模块

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

这时可能会安装失败,因为openssl版本较低 去官网看一下最新版地址,https://www.openssl.org/source/ 然后wget 下来

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 installefix=/usr/local/openssl --openssldir=/usr/local/openssl
make && make install

5.修改tomcat配置文件

进入你的tomcat目服务器目录,编辑配置文件:conf/server.xml

将默认的protocol="HTTP/1.1"修改为

protocol="org.apache.coyote.http11.Http11AprProtocol"

修改完成保存并退出

6.配置环境变量(两种方式)

进入tomcat安装目录下

打开 bin/catalina.sh文件

在原有变量JAVA_OPTS后面追加对应的配置即可,添加一行新的就可以:

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"

然后保存并退出后 就可以结束安装

重新启动你的tomcat服务器, 看到 catalina.out 最后边的日志

tomcat启动日志

说明tomcat Apr 已经配置成功了

或者

在环境变量中加入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服务器, 看到 catalina.out 最后边的日志

说明tomcat Apr 已经配置成功了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Tomcat在Linux服务器上的BIO、NIO、APR模式设置方法

    一.BIO.NIO.AIO 先了解四个概念: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写). 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理,需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作API). 阻塞 : ATM排队取款,你只能等待(使用阻塞IO时,Java调用会一直阻塞到读写完成才返回). 非阻塞 : 柜台取款,取个号,然后坐在椅子上做其它事,等号广播会通知你办理,没到

  • tomcat性能优化(性能总览)

    1.增加JVM堆内存大小 1)JVM通常不去调用垃圾回收器,所以服务器可以更多关注处理web请求,并要求尽快完成. 2)更改文件(catalina.sh) JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+Disab

  • Tomcat ssl报错Connector attribute SSLCertificateFile must be defined when using SSL with APR解决方法

    今天同事要求帮忙配置tomcat ssl,直接把linux下tomcat配置ssl这篇文章发给他了,没想到他居然说启动tomcat的时候,报Connector attribute SSLCertificateFile must be defined when using SSL with APR的错误,马上跑过去看,原来他的tomcat版本是7.0的,我发给他的是tomcat6的,检查了key,检查了配置文件,因为他直接复制的我发他文章的配置,折腾了2-3个小时,终于把问题给解决了. 系统:wi

  • Tomcat安装与配置Native APR模式的教程

    前言 众所周知APR 能大幅提高 tomcat 的性能,但我并没有做过性能比较测试.下面这篇文中主要介绍了在 CentOS 6.5 下为 tomcat 7 安装和配置 APR 模式的步骤和过程.在安装之前,先进行简单的介绍一下相关的内容,下面来一起学习学习吧. 技术准备 什么是APR?(以下是来自维基百科的内容) Apache可移植运行时( Apache Portable Runtime,简称APR)是Apache HTTP服务器的支持库,提供了一组映射到下层操作系统的API.如果操作系统不支持

  • Linux下Tomcat8.0.44配置使用Apr的方法

    听说Apr可以提高tomcat很多的性能,配置具体如下 1.安装apr 1.5.2 [root@ecs-3c46 ]# cd /usr/local/src [root@ecs-3c46 src]# wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz [root@ecs-3c46 src]# tar -xzvf apr-1.5.2.tar.gz [root@ecs-3c46 src]# cd apr-1.5.2 [root@ecs-3c46 apr

  • tomcat性能优化之如何搭建Apr模块

    前言 tomcat是一个被广泛使用的java web容器,各种调优数不胜数,由于tomcat主要运行jsp等动态页面,所以其设计主要是针对动态页面进行优化,而对静态文件的处理效率并不高. 很多时候工程师更愿意使用nginx或者apache服务器来辅助tomcat处理静态文件来提高服务器运行效率,但其实tomcat本身可以调用apache的方法来处理静态文件,极大的提高处理效率. tomcat服务器的三种模式bio (消息阻塞模式),nio(非阻塞模式) ,apr(使用apache静态文件处理库处

  • tomcat性能优化方式简单整理

    Tomcat本身优化 Tomcat内存优化 启动时告诉JVM我要一块大内存(调优内存是最直接的方式) 我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数 JAVA_OPTS参数说明 server 启用jdk 的 server 版 Xms java虚拟机初始化时的最小内存 Xmx java虚拟机可使用的最大内存 XX: PermSize 内存永久保留区域 XX:MaxPermSize 内存最大永久保留区域 配置示例: JAVA_OPTS='-Xms102

  • 基于Tomcat安全配置与性能优化详解

    Tomcat 是 Apache软件基金会下的一个免费.开源的WEB应用服务器,它可以运行在 Linux 和 Windows 等多个平台上,由于其性能稳定.扩展性好.免费等特点深受广大用户喜爱.目前,很多互联网应用和企业应用都部署在 Tomcat 服务器上,比如我们公司,哈. 之前我们 tomcat 都采用的是默认的配置,因此在安全方面还是有所隐患的.上周对测试环境的所有服务器的tomcat都做了安全优化,其间也粗略做了一些性能优化,这里就简单记录分享下! 一.版本安全 升级当前的tomcat版本

  • Python 代码性能优化技巧分享

    如何进行 Python 性能优化,是本文探讨的主要问题.本文会涉及常见的代码优化方法,性能优化工具的使用以及如何诊断代码的性能瓶颈等内容,希望可以给 Python 开发人员一定的参考. Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 80% 的工作量.优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率. 改进算法,选择合适的数据结构 一个

  • 网站前端和后台性能优化的34条宝贵经验和方法

    1 减少HTTP请求数量 (Minimize HTTP Requests) tag:content 80%的用户响应时间被花费在前端,而这其中的绝大多数时间是用于下载页面中的图片.样式表.脚本以及Flash这些组件.减少这些组件的数量就可以减少展示页面所需的请求数,而这是提高网页响应速度的关键. 朴素的页面设计当然是减少组件的一种途径,但有没有能兼顾丰富的页面内容和快速的响应速度的方法呢?下面就是一些不错的技巧,能在提供丰富的页面展现的同时,减少Http请求数量: 合并文件,通过把所有脚本置于一

  • Nuxt 项目性能优化调研分析

    性能优化,这是面试中经常会聊到的话题.我觉得性能优化应该因具体场景而异,因不同项目而异,不同的手段不同的方案并不一定适合所有项目,当然这其中不乏一些普适的方案,比如耳熟能详的文件压缩,文件缓存,CDN,DNS 预解析,等等,但是我更希望听到的是因为不同的项目不同的需求,解决不同的问题而采取的不同的优化手段,比如 BigPipe,分段输出页面的各个部分,对于 SNS 网站是非常合适的,减少了用户的等待时间:相对应的还有一个 BigRender,这是一个大的延迟加载,360 导航首页目前还在使用,京

  • Angular性能优化之第三方组件和懒加载技术

    概述 应该有很多人都抱怨过 Angular 应用的性能问题.其实,在搭建Angular项目时,通过使用打包.懒加载.变化检测策略和缓存技术,再辅助第三方组件,便可有效提升项目性能. 为了帮助开发者深入理解和使用Angular,本文将以在线表格编辑为例,演示如何借助懒加载技术,在基于 Angular的框架中实现在线导入导出Excel以及数据在线填报的功能. 环境准备 1.全局安装Angular CLI:npm install -g @angular/cli 2.使用Angular CLI创建一个新

  • Android 性能优化实现全量编译提速的黑科技

    目录 一.背景描述 二.效果展示 2.1.测试项目介绍 三.思路问题分析与模块搭建: 3.1.思路问题分析 3.2.模块搭建 四.问题解决与实 编译流程启动,需要找到哪一个 module做了修改 module 依赖关系获取 module 依赖关系 project 替换成 aar 技术方案 hook 编译流程 五.一天一个小惊喜( bug 较多) 5.1 output 没有打包出 aar 5.2 发现运行起来后存在多个 jar 包重复问题 5.3 发现 aar/jar 存在多种依赖方式 5.4 发

  • Tomcat并发优化方法介绍

    Tomcat 常用运行模式有3种,分别为 bio,nio,apr.生产环境建议用apr,详细请看上一篇博文<Tomcat之--运行模式> 安装APR [root@liuyazhuang ~]# yum -y install apr apr-devel openssl-devel [root@liuyazhuang ~]# tar zxvf tomcat-native.tar.gz [root@liuyazhuang ~]# cd tomcat-native-1.1.24-src/jni/nat

随机推荐