今天公司要迁移个老的tomcat项目到新服务器,本来是件很简单的事,于是配置环境变量一些基本操作。完成后,使用startup.sh启动,启动没报错,于是测试地址,发现居然打不开
what? 还以为是jdk版本问题,行,那就改变jdk ,变为1.7.0_80
但是发现还是不行,无奈之下去看了下tomcat配置,发现了这个配置
<Connector port="23180"
protocol="org.apache.coyote.http11.Http11AprProtocol"
executor="tomcatThreadPoolmgr"
compression="on"
compressionMinSize="2048"
maxThreads="5000"
enableLookups="false"
redirectPort="21483"
acceptCount="5000"
connectionTimeout="40000"
disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />
原来是用apr模式启动,问题定位了,就好办了
开始安装apr
依赖资源
- apr-1.6.2.tar.gz
- apr-util-1.6.0.tar.gz
- openssl
其中apr-*可在http://archive.apache.org/dist/apr/下载最新版本
编译安装apr-*
- 编译安装apr-1.6.2.tar.gz
tar zvxf apr-1.6.2.tar.gz
cd apr-1.6.2
./cofigure
make
make intall
vim /etc/profile
在配置文件末尾添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib 保存并退出
source /etc/profile
- 编译安装apr-util-1.6.0.tar.gz
tar zvxf apr-util-1.6.0.tar.gz
cd apr-util-1.6.0
./configure --with-apr=/usr/local/apr
make
make install
注意如果时centos系统在make的时候有可能出现下面的错误
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
#include <expat.h>
^
compilation terminated.
make[1]: *** [xml/apr_xml.lo] Error 1
安装一下expat库即可
yum install expat-devel
- 编译安装Native library for Tomcat
cd apache-tomcat-7.0.54/bin
tar zvxf tomcat-native.tar.gz
cd tomcat-native-1.1.30-src/jni/native
./configure --with-apr=/usr/local/apr --with-java-home=/opt/EMM/app/jdk1.8.0_45
make
make install
- 配置tomcat使apr生效
vim apache-tomcat-7.0.54/conf/server.xml
设置Connector中的protocol="org.apache.coyote.http11.Http11AprProtocol"保存并退出
重启tomcat生效
搞定,这可真的难为android开发仔了~