apache mod_cache模块的编译

apache mod_cache模块的编译
配apache mod_cache 后 /usr/local/apache/bin/apachectl restart
apache出现以下信息:
Cannot load /usr/local/apache/modules/mod_cache.so into server: /usr/local/apache/modules/mod_cache.so: undefined symbol: cache_generate_key_default
正规解决方案:
modules/cache下面有很多的.c文件
mod_cache.c 编译得到mod_cache.so 主要用来控制整个apache的cache功能。
mod_file_cache.c,mod_mem_cache.c,mod_disk_cache.c这个三个文件编译后得到各自的cache支持模块。

[root@zhang2 cache]# find . -name "*cache*.c" -print
./cache_storage.c
./cache_pqueue.c
./mod_cache.c
./cache_hash.c
./mod_mem_cache.c
./mod_file_cache.c
./mod_disk_cache.c
./cache_util.c
./cache_cache.c

mod_cache.c还需要其他的程序来进行工作,包括cache_*.c这些文件。因此apxs动态加载一个模块的时候,需要把这些文件和mod_cache.c 一起编译:
编译mod_cache:
/usr/local/apache/bin/apxs -c -i -a mod_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c
编译mod_disk_cache:
/usr/local/apache/bin/apxs -c -i -a mod_disk_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c
编译mod_mem_cache:
/usr/local/apache/bin/apxs -c -i -a mod_mem_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c

至此,apache已经支持缓存了,再加上缓存配置就Ok!!!
posted @ 2009-12-02 14:07  飞鸿无痕  阅读(167)  评论(0编辑  收藏  举报