2007/10/16 16:17
文章作者:9Enjoy 转载请注明原文链接。
考虑到服务器负载有些大,不需要的模块还是会有些影响,于是考虑重装Apache。
由于网站正在运行,有点担心重新编译会不会带来问题。问了下,同事说安装在同一目录一般不会有问题,也不会影响网站运行,但最好要把原目录备份一下,万一有问题,也可以恢复回去。
还是原版本2.2.3,这次的配置是,./configure --prefix=/usr/local/apache2 --enable-shared=max --with-mpm=worker --enable-rewrite --enable-expires --enable-deflate
特意查了一下功能,
--enable-module=so,是为了使得模块“so”有效,这样以后你可以运用DSO+APXS机制,通过第三类模块(3rd party module)来扩充你的Apache安装。
–enable-shared=max
max是指所有已配置模块都编译成DSO模块(除了so以外的,so不能被编译成DSO的)
使用动态加载方式会带来5%的性能下降,但和带来的好处相比更本不算什么:比如模块升级方便,系统升级风险降低,安装过程标准化。
但--enable-module=so不是很必要,因为APACHE是配置文件默认是只要你安装了一个动态加载模块。系统会默认将SO放进去。不需要你特意说明的。系统会自动检查的。
--enable-deflate
网站启用了deflate压缩
--with-mpm=worker
worker模式
--enable-rewrite
网站需要用到rewrite(URL重写功能)
--enable-expires
网站需要用到缓存功能
重编译后,重启Apache,网站正常。真不错,直接在上面装不会影响正在跑的apache的运行。
去apache官方看了下,最新版2.2.6,下载下来,编译,顺利完成。
装完后,用httpd -l看了一下有哪些模块,还挺多的。
引用
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_deflate.c
mod_log_config.c
mod_env.c
mod_expires.c
mod_setenvif.c
worker.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgid.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_so.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_deflate.c
mod_log_config.c
mod_env.c
mod_expires.c
mod_setenvif.c
worker.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgid.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_so.c
不过,由于php5并没有重新编译,phpinfo显示的Apache版本还是2.23。
/usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.6 (Unix)
Server built: Oct 15 2007 16:20:1
那再重编译一下php5,php.ini备份了下。装完后网站好像停了会儿,再装Zend,装完,网站恢复正常。
这次在不影响网站运行的情况下,直接重装升级还是有些冒险的,毕竟以前没试过,还好顺利的完成了:)

取消Temperature above threshold的提示
一个目录下最多只能有32000个目录

