Apache2.2升级Apache2.4(Windows环境)

本次升级的Apache版本为2.2.22升级到2.4.29

最新版本的Apache2.4.29可以在https://www.apachehaus.com/cgi-bin/download.plx这里找到

因为2.2.22是服务器已经部署的版本,不知道以前的开发怎么配置的,所以要先去找个原版的2.2.22

在官网找了好久都没找到历史版本下载,后来无意发现了这样一句话

Apache2.2升级Apache2.4(Windows环境)

只有最新的版本才能在www.apache.org下载,难怪找不到了

最后在这http://archive.apache.org/dist/httpd/binaries/win32/找到了2.2.22的msi安装版的,zip的找不到,将就用也行吧

接下来就是用WinMerge来对比项目的Apache2.2和原版的2.2配置哪里不一样了

Apache2.2升级Apache2.4(Windows环境)

Apache配置主要是httpd.conf和extra文件夹里的配置文件,根据httpd.conf里的配置来决定会不会用到extra里的配置文件,但是保险起见还是每一个结果为different配置文件都看一下

Apache2.2升级Apache2.4(Windows环境)

图中所示,我这个项目是开启了Apache的rewrite功能

Apache2.2升级Apache2.4(Windows环境)

再加上这里开启了FollewSymLinks,项目加载的时候就会去读项目根目录的.htaccess文件,至于ReWrite规则嘛,自己去百度一下啦~o( ̄▽ ̄)d

Apache2.2升级Apache2.4(Windows环境)

最后这里可以看到,新增了读取mod_fcgid.so模块,其实就是用FastCGI的方式来加载PHP项目

在我这个项目当中并没有用到SSL功能,主要区别就只有httpd.conf文件

将以上有区别的配置项也更改至Apache2.4中

需要注意的是,有些配置项在Apache2.4中的写法已经不一样了,例如:

原本使用 Order Deny / Allow 的方式,改用 Require

官方示例:

 

 

 

Apache2.2升级Apache2.4(Windows环境)

至于其他的就自行查阅啦,我这个项目中并没有太多的高级用法

http://httpd.apache.org/docs/2.4/upgrading.html

改完之后就可以去测试服务器试一下部署项目了

一般我都会在bin目录运行一次 httpd -t 来测试一下配置文件有没有问题

Apache2.2升级Apache2.4(Windows环境)

如果配置有问题就会像这样给出提示。

这里提示的内容就是在读取模块的时候读取不到mod_fcgid.so文件,这是当然的,这个模块文件是我们要用FastCGI的方式来加载PHP,需要自己去下载一个放在modules文件夹里

https://www.apachehaus.com/cgi-bin/download.plx

在这个网站中搜索一下fcgid就有了,下载完成后将压缩包中的modules文件夹里的mod_fcgid.so文件放到我们Apache2.4的modules文件夹里就OK了

Apache2.2升级Apache2.4(Windows环境)

配置检测过了的话就会提示Syntax OK

接下来就只要运行

httpd -k install

net start apache2.4

就可以运行Apache服务了

 

----- End -----

 

更多好文

请扫描下面二维码

欢迎关注~

 

Apache2.2升级Apache2.4(Windows环境)