apr安装
tomcat 启动报告:
信息 main org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 在java.library.path:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
安装相关依赖包
yum -y install gcc gcc-c++ libtool* autoconf automake expat-devel perl perl-devel
下载安装包
https://dlcdn.apache.org//apr/
https://www.openssl.org/source/
apr
apr-iconv
apr-util
openssl
安装apr
tar zxvf apr-1.7.4.tar.gz
cd apr-1.7.4
./configure --prefix=/usr/local/apr && make && make install
安装apr-iconv
tar zxvf apr-iconv-1.2.2.tar.gz
cd apr-iconv-1.2.2
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr && make && make install
安装apr-util
tar zxvf apr-util-1.6.3.tar.gz
cd apr-util-1.6.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv && make && make install
安装OpenSSL
tar zxvf openssl-3.2.0.tar.gz
cd openssl-3.2.0
./config --prefix=/usr/local/openssl && make -j 4 && make install
( -j 4 :开4个线程编译)
!!!!!!!!!出现问题 ---
root@192 package# cd openssl-3.2.0
root@192 openssl-3.2.0# ./config --prefix=/usr/local/openssl
Can't locate IPC/Cmd.pm in @INC (@INC contains: /usr/package/openssl-3.2.0/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /usr/package/openssl-3.2.0/external/perl/Text-Template-1.56/lib) at /usr/package/openssl-3.2.0/util/perl/OpenSSL/config.pm line 19.
BEGIN failed--compilation aborted at /usr/package/openssl-3.2.0/util/perl/OpenSSL/config.pm line 19.
Compilation failed in require at /usr/package/openssl-3.2.0/Configure line 23.
BEGIN failed--compilation aborted at /usr/package/openssl-3.2.0/Configure line 23.
root@192 openssl-3.2.0# make -j 4 && make install
make: *** 没有指明目标并且找不到 makefile。 停止。
root@192 openssl-3.2.0#
问题描述 Can't locate IPC/Cmd.pm in
缺少IPC/Cmd.pm 模块
yum install -y perl-CPAN
进入perl shell中
perl -MCPAN -e shell
进入后第一步选yes,第二步选manual,第三步选yes
或:一路回车也可以
(时间比较长)
在shell中安装缺少的模块
cpan1> install IPC/Cmd.pm
解决问题
再次执行:
./config --prefix=/usr/local/openssl && make -j 4 && make install
查看openssl安装结果
openssl version
!!!版本不对
卸载旧版本
- 使用命令查看openssl是否已安装:
rpm -qa | grep openssl
- 如果有安装,使用的命令卸载:
yum remove openssl
- 验证是否已卸载:
rpm -qa | grep openssl
配置 /etc/ld.so.conf
尾部加入 /usr/local/openssl/lib64
ldconfig (没有用)
!!!又出状况
root@192 openssl-3.2.0# openssl version
-bash: /usr/bin/openssl: 没有那个文件或目录
root@192 openssl-3.2.0# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
root@192 openssl-3.2.0# openssl version
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
root@192 openssl-3.2.0# ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
root@192 openssl-3.2.0# openssl version
openssl: error while loading shared libraries: libcrypto.so.3: cannot open shared object file: No such file or directory
root@192 openssl-3.2.0# ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
root@192 openssl-3.2.0# openssl version
OpenSSL 3.2.0 23 Nov 2023 (Library: OpenSSL 3.2.0 23 Nov 2023)
安装tomcat-native
cd tomcat_home/bin/
tar zxvf tomcat-native.tar.gz
cd tomcat-native-2.0.6-src/native
./configure --with-ssl=/usr/local/openssl --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/local/jdk/jdk-21.0.1/ && make && make install
添加变量内容
vim /etc/profile
#tomcat apr
export LD_LIBRARY_PATH=/usr/local/apr/lib
source /etc/profile
或配置在tomcat/bin/setclasspath.sh(写在setenv.sh中不行)
#apr
export LD_LIBRARY_PATH=/usr/local/apr/lib
结果
信息 main org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本1.7.4加载了基于APR的Apache Tomcat本机库2.0.6。
centos卸载自带jdk
rpm -qa | grep -i java
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
tomcat apr
liyongbing11222024-12-05 15:01
相关推荐
thefool11226643 分钟前
TCP 1金銀銅鐵3 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)AI人工智能+电脑小能手3 小时前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合paopaokaka_luck5 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)2301_32241428045 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)考虑考虑6 小时前
JDK26的JEP 500属性LMT流氓兔6 小时前
第五单元——第十二课:把脚本整理成项目yuniko-n6 小时前
【JUC】四种内存屏障示例念何架构之路8 小时前
Go reflect 包:结构体反射 —Field、Tag 与 VisibleFieldsliangbo78 小时前
03-JDK 10/11 局部变量推断与 LTS:var 到底该怎么用