跟平常完全不一样的apache优化编译,懂的进来说说!

跟平常完全不一样的apache优化编译,懂的进来说说!

在网上看了篇《apache2.2的优化及模块安装 》的文章,它的编译大略过程如下:

优化编译选项及配置apache可加载的模块
patch -p1 < ../mod_limitipconn-0.22/apachesrc.diff
/usr/local/apache2.2.3/bin/apxs -c -i -a mod_limitipconn.c
/usr/local/apache2.2/bin/apxs -c -i -a mod_evasive20.c

更改2Glogs
export CFLAGS="-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
然后编译cronolog即可
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"

./configure --prefix=/usr/local/apache2.2.3 --enable-mods-shared=all --enable-so --with-mpm=worker --enable-deflate --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-proxy --enable-rewrite --enable-charset-lite --enable-suexec --with-suexec-bin=/usr/sbin/suexec --disable-ipv6 -disable-dav --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

# 编译及安装
gmake && make install

上面四段语句我都看不懂,跟平常的编译完全不一样,搜遍了百度、google、书店都没找到答案。哪位高手能指点一下。
是否优化就一定得做这些步骤啊?
大家平常在公司实际应用的编译选项(./configure)又是怎样的啊?可以的话贴出来学习,不胜感激!正在找工作,被人家这么一问我就傻眼了。版主和大家都来帮帮我啊!
楼主,哪里看到的,厉害.这样的编译配置确实很少见,同样希望有高手快进来看看哦  呵呵
响应搂主号召,一下是我的实际环境apache安装文档。  (楼主的优化部分,小鸟我也看不懂)

1. setup apache
#!/bin/sh
APACHE_SRC_DIR="/home/httpd-2.2.3"
echo apache2-install

cd /home;tar vxfz httpd-2.2.3.tar.gz
cd $APACHE_SRC_DIR/srclib/apr
./configure --prefix=/usr/local/apr12/
make clean
make
make install

cd $APACHE_SRC_DIR/srclib/apr-util
./configure --prefix=/usr/local/apr12-util/ --with-apr=/usr/local/apr12/
make clean
make
make install

cd $APACHE_SRC_DIR
./configure --prefix=/usr/local/apache22 --with-apr=/usr/local/apr12 --with-apr-util=/usr/local/apr12-util --with-mpm=worker --enable-so --enable-mods-shared=all --enable-proxy=shared --enable-proxy-balancer=shared --enable-proxy-http=shared --enable-proxy-ajp --enable-deflate --enable-cache --enable-disk-cache --enable-mem-cache
make clean
make
make install
3楼的,太感谢你,开了个好头,就是需要这些实际环境中的配置方案,希望大家能踊跃发表,学习啦!
在实际应用中proxy、deflate、cache这些模块真的需要吗?效果高吗?稳定吗?不知别的公司是否也在用这些模块呢?
零星的看了些资料,第一段似乎是编译模块用的,但为啥这样编译和为啥要编译这些模块,我看不懂。
第二段应该是设定编译环境的吧,更是看不懂里头的参数。
第三段编译里头的“--enable-rewrite --enable-charset-lite --enable-suexec --with-suexec-bin=/usr/sbin/suexec --disable-ipv6 -disable-dav ”这些选项到底是怎么用的怎么工作的我都看不懂,也不知道实际环境中是否真的需要用到这些功能,不知该到那里找资料,请了解的CU们来指点一下吧。
还有那个gmake,是否等价于平常的make啊?
加油啊,各位CU!
顺便问大家一个问题,在编译中使用了选项--enable-mods-shared=all (将所有模块都静态地编译进核心),也就无需再逐个添加“--enable-deflate --enable-cache --enable-proxy --enable-rewrite --enable-charset-lite......”这些模块了?我是这么理解的,对吗?
不喜欢自己编译,升级麻烦
楼主前面几行
patch -p1 < ../mod_limitipconn-0.22/apachesrc.diff
/usr/local/apache2.2.3/bin/apxs -c -i -a mod_limitipconn.c
/usr/local/apache2.2/bin/apxs -c -i -a mod_evasive20.c
应该是给某些模块打补丁,后面两句是加载模块
其实我也不太懂,呵~~


QUOTE:
优化编译选项及配置apache可加载的模块
patch -p1 < ../mod_limitipconn-0.22/apachesrc.diff
/usr/local/apache2.2.3/bin/apxs -c -i -a mod_limitipconn.c
/usr/local/apache2.2/bin/apxs -c -i -a mod_evasive20.c

为apache编译2个模块,看文件名我猜一个是限制单IP连接数,另外一个是防诈骗模块,可能是那个公司特别写的。

QUOTE:
更改2Glogs
export CFLAGS="-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"

支持大文件,文件大小可以超过4GB。

QUOTE:
然后编译cronolog即可
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"

gcc编译器优化参数调整为 -O3,通常为-O2。
多谢楼上的,这些语句是干什么用的大概了解了,就是对里头的参数不会用!不知道大多数公司是否都要做这些设置呢?我只会做最平常的那种编译(就是./configure ...   make && make install),是否不能满足公司的实际需求啊?