Apache Module加载问题解决方案
错误一:
Apache报错httpd: Syntax error on line 99 of / wwwrver apache/conf/httpd.conf: Syntax error on line 11 of / wwwrver /apache/conf.d/ssl.conf: Cannot load / wwwrver /apache/modules/mod_ssl.so into server: / wwwrver /apache/modules/mod_ssl
这是因为apache没有安装模块mod_ssl.so
可以运行命令:yum install mod_ssl
然后再执行mod_ssl.so
错误二:
Apache配置ssl证书,正常配置代码后,重启报了一个错误,看报错语句表明,是加载mod错误问题。
httpd: Syntax error on line 59 of /wwwrver/apache/conftpd.conf: module authn_file_module is built-in and can't be loaded
解决方法1:
最开始的检查方式是到httpd.conf下,找mol的语句是否正常开启,若被注释掉,需要手动去掉#号,再重新启动apache。
若没有被#注释,开启状态还是报这个错误问题,就需要下一步去查找apache已加载的mod。通常执行的命令是bin目录下:apachectl -l 可查看apache本身编译的自带模块(如下图),这些自带模块是apache已经加载的,需要手动注释掉httpd.conf里的检测出来的模块。把已加载的模块注释完后,重启apache,这样apache一般就会起来。除非还有其他的模块之外的问题。
在apache的bin目录下,执行httpd –t命令也能查看到没有正常配置的错误问题。
解决方法2:
编译Apache时(./configure)没有加上—enable-mods-shared=all造成的,重新编译Apache加上--—enable-mods-shared=all参数即可。
Module内其他优化配置部分:
如果需要提供基于文本文件的认证,加载此模块,否则注释掉
LoadModule authn_file_module modules/mod_authn_file.so
如果需要在未正确配置认证模块的情况下简单拒绝一切认证信息,加载此模块,否则注释掉
LoadModule authn_default_module modules/mod_authn_default.so
此模块为mod_cache提供基于磁盘的缓存管理,推荐加载
LoadModule disk_cache_module modules/mod_disk_cache.so
如果需要在未正确配置授权支持模块的情况下简单拒绝一切授权请求,加载此模块,否则注释掉
LoadModule authz_default_module modules/mod_authz_default.so
此模块为mod_cache提供基于内存的缓存管理,推荐加载
LoadModule mem_cache_module modules/mod_mem_cache.so
如果需要服务器在将输出内容发送到客户端以前进行压缩以节约带宽,加载此模块(推荐),否则注释掉
LoadModule deflate_module modules/mod_deflate.so
此模块为mod_cache提供基于内存的缓存管理,推荐加载
LoadModule mem_cache_module modules/mod_mem_cache.so
沃通技术支持原创文章,转载请注明来源