尝试了一把从2005年以来第一次重大更新的新版本apache
不仅加入了云计算的基因 更大幅提升了性能
I/O读写和内存占用优化程度比较大
主要是增加了一个enevt模式 测试效果不错
实际我测试的 单纯的编译后静态文件和nginx的处理性能
确实已经相差不大
测试是使用ab测试的 单台nginx和阿帕奇测试后对比数据
获得的结果 下次进行系统的测试在发测试数据
暂时只是测试了jpg图片 和html静态的文件 数据可能没代表性
下面把编译的时候 常见的错误贴下
rotatelogs.o: In function post_rotate':
apr_file_link’
rotatelogs.c:(.text+0x5ed): undefined reference to
collect2: ld returned 1 exit status
make[2]: *** [rotatelogs] Error 1
make[2]: Leaving directory /root/src/httpd-2.4.2/support'
/root/src/httpd-2.4.2/support’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
make: *** [all-recursive] Error 1
这些是因为没apr的包
有2个解决方式
第一种解决办法
yum remove “apr*”
wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.4.6.tar.gz
tar xzf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure ; make ; make install
wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure –with-apr=/usr/local/apr
yum install -y pcre-devel lua-devel libxml2-devel
第二种解决办法
下载arp的包以后 cp到httpd的文件夹
cp -r apr-1.4.6 httpd-2.4.2/srclib/apr
cp -r apr-util-1.4.1 httpd-2.4.2/srclib/apr-util
就可以解决了
第二个常见的错误 这种只有mini安装会出现 一般大部分菜鸟都不会安装devel的包
checking for OpenSSL version >= 0.9.7… FAILED
configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl… configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
解决办法
yum install openssl-devel
yum update openssl
近期准备把所有服务器都升级到httpd 2.4.2 获得更好的性能
相关:
- apache 2 4 2
- apache2 4 2
- undefined reference to `apr_file_link
- configure: WARNING: OpenSSL version is too old
- checking for OpenSSL version >= 0 9 7 FAILED
- rotatelogs c:( text 0x5ed): undefined reference to `apr_file_link
- mod_ssl has been requested but can not be built due to prerequisite failures
- apache undefined reference to `apr_file_link
- rotatelogs o: In function `post_rotate:
- apache 2 4 2 编译
大哥,我安装您的方法来搞,一样报错啊,第一种错误,求教。….qq:812497040
你是不是直接copy执行的?
之前版本号写错了 2.4.2写成2.4.1了