为已编译的apache2添加cache模块遇到的问题

(二)编辑增加cache模块遇到的问题。

配apache mod_cache 后 httpd -k start

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支持模块。

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

上述是我遇到问题,照着上面作者的做法做后问题解决。

在这里我要对我上面的文章中标金黄的部分做一下解释。

在我仔细看了配置文件,详细的做了对比,

LoadModule logio_module  modules/mod_logio.so
LoadModule proxy_module       modules/mod_proxy.so
LoadModule proxy_http_module  modules/mod_proxy_http.so
LoadModule cache_module       modules/mod_cache.so
LoadModule mem_cache_module         modules/mod_mem_cache.so
LoadModule disk_cache_module        modules/mod_disk_cache.so

注意到这些modules/mod_proxy.so、modules/mod_proxy_http.so模块和前面的写法了没,
proxy_module、proxy_http_module这些写法都是根据modules/mod_proxy.so、modules/mod_proxy_http.so这来的,
如果这是mod_proxy.so,则在前面些proxy_module,如果是mod_proxy_http.so则在前面写proxy_http_module。
所以我在写mod_mem_cache.so这个的时候,不用想就写了LoadModule mem_cache_module ,
这样在检查配置文件的时候也没有提示错误,直接提示ok。以后写的时候,就可以这样写了,我认为是不会有错误的
分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS