linux下tomcat apr 安装问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下tomcat apr 安装问题相关的知识,希望对你有一定的参考价值。
求高手帮忙:
按网上的文档安装apr一切顺利,但tomcat在启动的时候apr仍然找不到。。。
2015-7-7 15:17:31 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:
/usr/java/jdk1.6.0_27/jre/lib/i386/server:/usr/java/jdk1.6.0_27/jre/lib/i386:/usr/java/jdk1.6.0_27/jre/../lib/i386:/lib:/usr/local/apr/lib:/usr/local/apr:/usr/java/packages/lib/i386:/lib:/usr/lib
2015-7-7 15:17:31 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8081
各组件版本:
1、apr-1.5.2.tar.gz;
2、apr-util-1.5.4.tar.gz;
3、tomcat-native.tar.gz(apache-tomcat-6.0.43.tar.gz及其解压后bin目录下)
环境变量:
#apr
export LD_LIBRARY_PATH=$CATALINA_HOME/lib:/usr/local/apr/lib:/usr/local/apr
都卸载重装过了实在找不出哪里出问题了。。。。。。linux不太熟,求高手帮忙看看,或者给个排错思路也好,截图是apr安装后
我给你发个安装方法吧
apr 与 tomcat-native 提供更好的伸缩性、性能和集成到本地服务器技术。
按照官方说明需要:
APR library
OpenSSL libraries
openssl 可以用 yum install openssl-devel,apr还是下载*.gz来安装。
apr-1.3.2.tar.gz
apr-util-1.3.2.tar.gz
两个可以在 http://apr.apache.org/download.cgi找到。
tomcat-native.tar.gz 可以在tomcat/bin目录下找到。
安装 apr
wget apr下载地址
tar zxvf apr-.tar.gz
cd apr-1.3.2
./configure
make
make install
apr 默认安装在 /usr/local/apr
安装 apr-util
wget apr下载地址
tar zxvf apr-util-.tar.gz
cd apr-util-1.3.2
./configure --with-apr=/usr/local/apr
make
make install
安装 tomcat-native
cd /usr/local/tomcat-6.0.18/bin
tar zxvf tomcat-native.tar.gz
cd tomcat-native-1.1.14-src/jni/native
./configure --with-apr=/usr/local/apr --with-java-home=java安装目录
make
make install
设置 apr 的环境变量:
vi /etc/profile
# 后面添加以下内容
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
# 使profile生效,
source /etc/profile
1)安装apr
tar zxvf apr-1.4.2.tar
cd apr-1.4.2
./configure --prefix=/usr/local/apr
make
make install
2)安装apr-iconv
tar -zxvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make
make install
3)安装apr-util
tar zxvf apr-util-1.3.10.tar.gz
cd apr-util-1.3.10
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make
make install
4)安装tomcat-native
tar zxvf tomcat-native-1.1.20-src.tar.gz
cd tomcat-native-1.1.20-src/jni/native
./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_23
make
make install
5)添加环境变量
vi /etc/profile #在他文件末尾处添加下面的变量
# apr ma
export LD_LIBRARY_PATH=/usr/local/apr/lib
执行
source /etc/profile
此时环境变量生效果
6)修改server.xml
配置文件中protocol修改成org.apache.coyote.http11.Http11AprProtocol追问
这方法跟我的是一样的啊,openssl本身已经有了,没再装,
第一次装的时候我装了apr apr-util apr-iconv,不成功,
第二次看网帖没说iconv,我就只装 apr apr-util,依然不成功。
你说的依赖指的是--with-apr这个东西么 我加了
openssl也重新装吧,因为你装apr需要依赖这个才能编译出来
本回答被提问者和网友采纳Linux下配置tomcat+apr+native应对高并发
摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待。但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,这时并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来。
一、三种运行模式介绍
Tomcat 有三种(bio,nio.apr) 运行模式,首先来简单介绍下
bio
bio(blocking I/O),顾名思义,即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。Tomcat在默认情况下,就是以bio模式运行的。遗憾的是,就一般而言,bio模式是三种运行模式中性能最低的一种。我们可以通过Tomcat Manager来查看服务器的当前状态。
nio
是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。
想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" URIEncoding="UTF-8" useBodyEncodingForURI="true" enableLookups="false" redirectPort="8443" />
apr
(Apache Portable Runtime/Apache可移植运行库),是Apache HTTP服务器的支持库。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。
要tomcat支持apr,必须要安装apr和native,这样tomcat可以利用apache的apr接口,使用操作系统的部分本地操作,从而提升性能。
Tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。
接下来介绍linux下tomcat+apr+native配置
二、linux下配置tomcat+apr+native
2.1 安装包准备
jdk-7u76-linux-x64.tar.gz(必须JDK1.7以上才支持apr)
apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
apache-tomcat-7.0.56.tar.gz(解压之后其bin目录下包含tomcat-native的安装包)
2.2 安装JDK
这是运行Tomcat的首要环境,所以这一步最先执行。
2.2.1 解压
tar -zxvf jdk-7u76-linux-x64.tar.gz
2.2.2 创建/usr/local/java文件夹
mkdir -p /usr/local/java
2.2.3 移动到/usr/local/java
mv jdk1.7.0_76 /usr/local/java
2.2.4 添加环境变量
vi /etc/profile
再最后添加上
#jdk1.7 export JAVA_HOME=/usr/local/java/jdk1.7.0_76 export CLASSPATH=$JAVA_HOME/lib/ export PATH=/usr/local/ruby/bin:$PATH:$JAVA_HOME/bin
2.2.5 重启环境变量,使配置生效
source /etc/profile
查看是否生效
出现以下字样则表示安装成功,接下来安装tomcat
2.3 安装tomcat
2.3.1 解压tomcat
tar -zxvf apache-tomcat-7.0.56.tar.gz
2.3.2 改名为tomcat7
mv apache-tomcat-7.0.56 tomcat7
2.3.3 修改tomcat内存(jvm内存)
我这里tomcat是放在/home目录下
vi /home/tomcat7/bin/catalina.sh
在里面添加
JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=512M -XX:MaxNewSize=512M -XX:MaxPermSize=512M"
2.3.4 修改运行模式
vi /home/tomcat7/conf/server.xml
添加上
<!-- 配置apr --> <Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol" URIEncoding="UTF-8" enableLookups="false" acceptCount="50" connectionTimeout="1000" maxKeepAliveRequests="250" redirectPort="8443" />
下面贴出一个server.xml完整的配置
<?xml version=\'1.0\' encoding=\'utf-8\'?> <Server port="9016" shutdown="SHUTDOWN"> <!--关闭https安全验证 --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina"> <!--The connectors can use a shared executor, you can define one or more named thread pools--> <!-- 配置线程 --> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="25" maxIdleTime="4000" /> <!-- 配置apr --> <Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol" URIEncoding="UTF-8" enableLookups="false" acceptCount="50" connectionTimeout="1000" maxKeepAliveRequests="250" redirectPort="8443" /> <Connector port="9109" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- 配置访问日志格式 --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>
2.4 安装tomcat-native
2.4.1 进入到/home/tomcat7/bin/
cd /home/tomcat7/bin
2.4.2 解压tomcat-native.tar.gz
tar -zxvf tomcat-native.tar.gz
2.4.3 进入到解压后的目录
cd tomcat-native-1.1.31-src/jni/native
2.4.4 检测、编译、安装
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/local/java/jdk1.7.0_76 && make && make install
2.5 安装apr
需要安装apr-1.5.2.tar.gz和apr-util-1.5.4.tar.gz
2.5.1 解压apr-1.5.2.tar.gz和apr-util-1.5.4.tar.gz
tar -zxvf apr-1.5.2.tar.gz tar -zxvf apr-util-1.5.4.tar.gz
2.5.2 检测、编译、安装
./configure --prefix=/usr/local/apr && make && make install
./configure --with-apr=/usr/local/apr/ --prefix=/usr/local/apr-utils && make && make install
2.6 修改最大文件句柄数和打开文件的数目
由于打开文件会比较多,所以要考虑修改默认打开文件数目
2.6.1 修改/etc/sysctl.conf
net.ipv4.ip_local_port_range = 10240 65535 net.ipv4.ip_nonlocal_bind = 1
2.6.2 在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65535 * hard nofile 65535
2.6.3 加载bridge模块
modprobe bridge
2.6.4 重新载入sysctl,使其改变生效
sysctl -p
2.6.5 再退出重新登陆,用ulimit -a查看
可以看到open files已经由默认的1024变成了65535
2.7 启动tomcat
/home/tomcat7/bin/startup.sh
出现以下提示则表示配置成功
三、出错情况处理
3.1、启动tomcat时报“The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/apr/lib”
以上是关于linux下tomcat apr 安装问题的主要内容,如果未能解决你的问题,请参考以下文章