Apache2.4配置文件的变化

apache 2.4 的配置文件,与2.2版本有了很大的变化。如果从2.2 升级到 2.4,配置文件还是有挺多需要修改的:一方面,在 module 的使用上,有了很大的不同。另一方面,改变了一些配置项的名称。其中,module使用的变化较大,值得记录一下。


在之前版本中,编译时指定指定的模块,汇编到apache中,运行httpd -l 即可看到,不需要在配置文件中再加载。比如:

11130308_wxMT.jpg


而在2.4版本中,只是编译到modules 目录中,httpd中只包含核心。需要使用的模块都需要在配置文件中加载,否则不会加载。

11130308_dJ55.jpg


如果从旧的版本迁移过来的配置,出现类似“Invalid command 'AuthUserFile'”的提示,大概是因为之前apache默认编译内置的模块造成的,只要对照上图,把需要的模块写入到配置文件中。


比如,使用用户验证,需要加载这些模块:

LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule auth_basic_module modules/mod_auth_basic.so


还有常用的:

LoadModule deflate_module modules/mod_deflate.so   页面输出压缩
LoadModule rewrite_module modules/mod_rewrite.so  页面URL改写,静态化用的
LoadModule log_config_module modules/mod_log_config.so 日志格式改写


再来说另一方面,指令名称的变化。DefaultType 不支持了,不过只是提示,不会当做配置错误。MaxRequestsPerChild重命名为MaxConnectionsPerChild,MaxClients重命名为MaxRequestWorkers。这个也比较好,旧的名字仍然可以用。


遇到需要改的比较多的,是认证这一块。Allow、Deny,都改成使用Require了。另外,如上文所述,需要手工把需要的模块加载进来。主要是查模块费了点事儿,写的倒是比以前更简洁了:

                AuthType Basic
                AuthName "Password Required"
                AuthUserFile /usr/local/apache/conf/dbadmin
                Require valid-user

后来找到Apache官方的指导上,发现还有这个东东:Module mod_access_compat , 加载后就可以兼容以前的写法。


其他的变化不是很常用,影响不大。官方指导的地址: http://httpd.apache.org/docs/2.4/upgrading.html


转载于:https://my.oschina.net/u/1391970/blog/289674

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值