apache-apr问题

从一台机器打包apache,到另一台服务器解压运行,出现一个报错

/app/apache/bin/httpd:symbol lookup error :/app/apache/lib/libapr-1.so.0:undefined symbol:dlopen

是因为apr未安装的问题

安装apr 

 下载apr

选择之前的版本apr-1.6.2,apr-util-1.6.1Index of /dist/aprhttp://archive.apache.org/dist/apr/放到设备上解压

cd /usr/local/apr-1.6.2       #进入目录

./configure --prefix=/usr/local/apr    

make

make install          #编译安装

 编译安装可能需要安装gcc,make,libtool,视情况

一般libtool是需要先安装的

可以通过设置yum源来进行

yum -y install gcc

yum -y install make

yum -y install  libtool

本次遇到yum无法安装libtool

去直接下载libtool的tar包

Libtool- GNU Project - Free Software Foundationhttp://www.gnu.org/software/libtool/

 cd /usr/local/libtool-2.4.6     #进入目录

./configure  --prefix=/usr/local/libtool

make

make install          #编译安装

 需要yum -y install m4

 ./configure的时候出现了上图的提示,但接下去编译安装也完成了

安装apr时出现的问题

报错:

config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands

解决方法:

yum install libtool   ——安装libtool ps:但是我已经安装了 还是出现这个问题

在configure里面把RM='$RM'改为RM='$RM  -f'

完成后,重新执行配置apr命令,接着又出现下面错误

config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands
config.status: include/apr.h is unchanged
config.status: include/arch/unix/apr_private.h is unchanged

解决方法:

直接打开/usr/local/src/apr-1.5.1/configure  把 $RM “$cfgfile” 那行删除掉 

$RM “$cfgfile”  大约在 42302 行

然后再重新运行  ./configure  --prefix=/usr/local/apr  就可以了

安装apr-util

cd /usr/local/apr-util-1.6.3

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr   ——配置

make                    ——编译

make install          ——安装

安装apr-util时出现的问题

fatal error: expat.h: No such file or directory 

解决办法:yum install expat-devel

是缺少依赖

安装完成后

把安装完的apr里面的libapr-1.so.0.6.2拷贝到apache/lib下面

mv libapr-1.so  libapr-1.so-old        #把原本的备份一下

mv libapr-1.so.0  libapr-1.so.0-old      #把原本的备份一下

ln -s  libapr-1.so.0.6.2 libapr-1.so      #做新的软链接

ln -s  libapr-1.so.0.6.2 libapr-1.so.0      #做新的软链接

然后/app/apache/bin/apachectl -k start   可以启动 

另一种解决办法

 把其他服务器已经安装好的apr里面的libapr-1.so.0.6.2拷贝过去

mv libapr-1.so  libapr-1.so-old        #把原本的备份一下

mv libapr-1.so.0  libapr-1.so.0-old      #把原本的备份一下

ln -s  libapr-1.so.0.6.2 libapr-1.so      #做新的软链接

ln -s  libapr-1.so.0.6.2 libapr-1.so.0      #做新的软链接

 老样子,apache也能启动了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这是一些常见的Apache编译参数,下面我将逐一介绍每个参数的作用及其具体使用场景: 1. --prefix=/www/server/apache 这个参数指定了Apache的安装目录,即将编译好的Apache程序安装到哪个目录下面。 2. --enable-mods-shared=most 这个参数指定了Apache编译时要支持哪些模块。most表示编译所有常用模块,也可以指定具体的模块名称。 3. --enable-headers 这个参数启用了HTTP头信息的处理,用于在客户端和服务器之间传输一些元数据。 4. --enable-mime-magic 这个参数启用了根据文件内容自动设置Content-Type头信息的功能。 5. --enable-proxy 这个参数启用了Apache的代理功能,用于转发客户端请求到其他服务器。 6. --enable-so 这个参数启用了Apache的动态共享库支持,使得Apache可以加载外部编译好的模块。 7. --enable-rewrite 这个参数启用了URL重写功能,可以根据指定规则将URL进行重写。 8. --enable-ssl 这个参数启用了SSL支持,使得Apache可以使用HTTPS协议进行通信。 9. --enable-deflate 这个参数启用了数据压缩功能,可以将发送到客户端的数据进行压缩,减少网络带宽的使用。 10. --with-pcre 这个参数指定了PCRE库的路径,用于支持正则表达式的功能。 11. --with-included-apr 这个参数指定了Apache Runtime库(APR)的路径,用于支持Apache的核心功能。 12. --with-apr-util 这个参数指定了APR Util库的路径,用于支持Apache的一些额外功能。 13. --enable-mpms-shared=all 这个参数启用了多进程/线程模式,并支持动态共享库。 14. --enable-nonportable-atomics=yes 这个参数启用了非标准的原子操作,提高了Apache在多线程环境下的性能。 15. --enable-remoteip 这个参数启用了RemoteIP模块,可以获取客户端真实IP地址。 16. --enable-http2 这个参数启用了HTTP/2协议支持,提高了Web应用的性能。 17. --with-nghttp2=/usr/local/nghttp2 这个参数指定了nghttp2库的路径,用于支持HTTP/2协议。 18. --with-ssl=/usr/local/openssl111 这个参数指定了OpenSSL库的路径,用于支持SSL协议。 19. --enable-lua 这个参数启用了Lua脚本语言的支持,可以在Apache中运行Lua脚本。 20. --enable-cgi 这个参数启用了CGI支持,可以在Apache中运行CGI脚本。 21. --with-zlib 这个参数指定了zlib库的路径,用于支持数据压缩和解压缩。 22. --enable-expires 这个参数启用了Expires模块,可以设置HTTP缓存过期时间。 23. --enable-modules=most 这个参数指定了要编译的模块,most表示编译所有常用模块。 24. --with-mpm=prefork 这个参数指定了Apache的工作模式,prefork表示单进程多线程模式。 25. CFLAGS=-I/usr/local/openssl111/include 这个参数指定了编译时的CFLAGS选项,用于指定头文件的搜索路径。 26. LIBS=-L/usr/local/openssl111/lib 这个参数指定了编译时的LIBS选项,用于指定库文件的搜索路径。 总体来说,这些编译参数可以根据用户的需求进行灵活配置,提高Apache的性能和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值