`

IIS+FastCGI+PHP5.3+MySQL5.1+Gzip详细教程

阅读更多

本帖是我经过一天一夜完成的,不同于一般网上文章,除详细的将整个配置过程和 测试过程都详细截图说明外,尤其在FastCGI方面采用微软的“web平台安装程序”来配置,网上相关内容很少,对gzip的设置也很详细,保证按图操 作即可独立完成。另外,还有详细的测试gzip压缩率的方法和比较。

文中对于理论几乎没有阐述,只是对配置过程进行了最详细的介绍,这样 使新手即使不太明白,照本文也可以配置出一样的环境来,本文章的错误及疏漏之处,还请大家指出来,大家在配置中有何问题,我们一起来探讨解决。

本 帖旨在帮助新手快速配置出IIS + FastCGI + PHP5.3 + MySQL5.1 + Gzip环境,高手可以飘过,本文里面图片较多,每步操作均有详细的图片说明,只要照做,均可一次配置成功。

如果您阅读本文后有所收获, 本人很高兴。

今天零晨的世界杯,不出意料的,西班牙夺冠

下面是正文,图片较 多,所以全部图片均存放于我自己的网站上,用链接引用过来,上面有些许水印,方便大家转载,也希望大家见谅。

============================================

IIS+FastCGI+PHP5.3+MySQL5.1+Gzip  详细配置图文教程

本文所用的软件名称及下载地址:

PHP5.3.2:php- 5.3.2-nts-Win32-VC9-x86.zip

地址:

http://windows.php.net/downloads/releases/php-5.3.2-nts-Win32-VC9-x86.zip

MySQL:mysql-essential-5.1.48-win32.msi

地址:

http://windows.php.net/downloads/releases/php-5.3.2-nts-Win32-VC9-x86.zip

FastCGI:这个有两种配置方法,正文中详细介绍

phpMyAdmin: 本文用的是3.3.4版

Zend Optimizer:目前的Zend Optimizer还不支持PHP5.3.2 ,等出新版后我们再装。

前 言:PHP5.3的版本选择

现在的PHP5.3 For Windows一共给了四个版本:VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,参考PHP官网提供下载的地方左边的英文来看看这几个版本有什么区别。

一、如何选择PHP5.3的VC9版本和 VC6版本

VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。

VC9 版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。

二、如何选择 PHP5.3的Thread Safe和Non Thread Safe版本

先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

再来看PHP的两种执行方式:ISAPI和FastCGI。

ISAPI 执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线 程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;

而FastCGI执行方式是 以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效 率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

我 们使用IIS+FastCGI方式配置服务器环境,所以使用Non Thread Safe版本。

了解了如何选择PHP版 本,下面开始我们的IIS+PHP5.3+MySQL5.1+Gzip的配置过程

第一步:手工配置PHP5.3

下载目前为 止最新版的PHP5.3.2

因为手工配置更灵活且更能了解细节,所以我们介绍手工配置PHP,所以选择下载zip文件:php- 5.3.2-nts-Win32-VC9-x86.zip。

1、 解压php-5.3.2-nts-Win32-VC9-x86.zip至安装目录,这里是C:\

2、打开php-5.3.2- nts-Win32-VC9-x86,建立php.ini文件

复制一个新的php.ini-development文件,并将文件名改为 phi.ini。

如下图

3、打开php.ini文件,修 改extension_dir的值

修改data.timezone 的值

选择启用模块:将用到的模块前 的;去掉,注意启用php_exif.dll时,必需将其放在mbstring后面,即将php_exif.dll剪切到 php_mbstring.dll后面。

配置FastCGI模式时,将 cgi.force_redirect设置为0,将cgi.rfc2616_headers和fastcgi.impersonate设置为1。

稍 候我们会使用iProber探针来检测php环境,所以这里必须开启short_open_tag = On,否则,会出现“iProber.php on line 910”错误。

至此,php部分配置完毕。下面 我们来在IIS里添加对php的支持,当然,我们采用的FastCGI方式。

第二步:配置IIS的FastCGI模块

为 IIS增加FastCGI模块有两种方式,一种是直接下载FastCGI Extension文件,另一种是使用微软的“web平台安装程序”,在这里我们介绍后者。

第一种方式中FastCGI Extension 文件的名称和下载地址为:

文件名:FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 - RC (x86)

地址:http://www.iis.net/downloads/default.aspx?tabid=34&i=1877&g=6

该安装程序需要.net 2.0支持,请确认已经安装.net Framework2.0。

下面我们来介绍使用微软的“web平台安装程序”来配置FastCGI。

1、 FastCGI第一步:打开微软的“web平台安装程序”,网址是:

http://www.microsoft.com/web/gallery/install.aspx?appid=fastcgiiis6

打开该网址单击下面红框内的按钮,进入下一步。

在弹出的对话框里,单击运行。

弹出安全警告对话框,再次单击运行。

接下来是下载web安装程序对话框

下载完安装程序后是加载web平台

加载完后,弹出FastCGI安装程序对话框,单击安装继续。

接下来是同意条款,单击我接受

正式进入安装,由于文件较小,安装过程非常迅速。

稍候即完成安装!

最后,单击退出并关闭IE

2、 下面在IIS服务里面进行配置,在IIS里右击“网站”节点,然后单击属性,弹出属性对话框。如图

单 击“主目录”选项卡,然后单击“配置”按钮

单 击添加,添加一个新的ISAPI项

在 C:\window\system32\inetsrv目录下,选中fcgiext.dll

注意,这里别忘了添加.php扩展名

在C:\windows\system32\inetsrv文件夹中,找到fcgiext.ini文件,并打开

在 fcgiext.ini文件底部添加如下配置信息:

[Types]

php = PHP

[PHP]

ExePath=C:\php-5.3.2-nts-Win32-VC9-x86\php-cgi.exe

至 此,FastCGI配置完成,下面我们来测试下是否配置正确,将iProber探针程序复制到web目录

在 浏览器输入:http://127.0.0.1/i/iProber.php ,输出如下图:

我 们看到以下信息

PHP运行方式 CGI-FCGI

PHP版本 5.3.2

说 明IIS+PHP的FastCGI方式配置成功!

注意,如果出现以下错误信息

============================

Error Details:

Error Number: 14001 (0x800736b1)。

Error Description: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。

HTTP Error 500 - Server Error.

Internet Information Services (IIS)

============================

则 是没有安装VC9运行库即VISUAL C++ 2008,

Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:

http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn

http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe

第三步:在IIS上启用 Gzip压缩

关于Gzip的作用,这里就不再讨论了,大家可以查查资料

1、 启用GZip第一步:右击“网站”,然后单击“属性”,单击“服务”选项卡,选中红框内的两项,然后单击“确定”。

2、 右击IIS下面的Web服务扩展节点,再单击“添加一个新的Web服务扩展”,如下图

添加扩展名为“HTTP Compression”的扩展,注意gzip.dll所在的目录为:C:\windows\system32\inetsrv\gzip.dll

在IIS的Web服务扩展里,选中HTTP Compression,然后在左侧单击允许。

3、设置Gzip参数

设置Gzip需要手工修改C:\windows\system32\inetsrv目 录下的MetaBase.xml文件,MetaBase.xml对于IIS的运行非常重要,若被破坏轻则IIS不能正常运行,重则可导致重装系统,所以修 改这个文件之前一定要做好备份,下图中名为MetaBase_backup.xml的文件就是一个备份。

下面设置deflate及gzip的具体参数:

设置deflate的压缩参数,其中主要包括文件扩展名,脚 本文件扩展名,压缩比例,需要说明的是,这里压缩比例推荐设置为1,我们稍候讨论哪个压缩比最合适。

设置gzip的压缩参数,其中主要包括文件扩展名,脚本文件扩展名,压缩比例,需要说明的是,这里压缩比例仍然推荐 设置为1。

配置完成后,启动IIS,使设置生效

4、如果不想停止IIS而直接编辑MetaBase.xml文件,则按下图设置:

在若编辑 MetaBase.xml里不想停止IIS,则在IIS节点上,注意是IIS,不是网站,在IIS上右击,单击“属性”

选中“允许直接编辑配置数据库”这一项,可不停止IIS编辑MetaBase.xml文件

5、检测Gzip压缩是否启用

如果大家的网站发布在Internet上,可以使用许多在线检测工具,很多站 长网站上都有提供,如何网站是在自己的电脑上试验,要检测Gzip启用情况,需要一些能够抓取HTTP头信息的软件,这里推荐使用 HttpAnalyzer V4,下载这个软件后,则可清晰的看到Gzip的作用。

我们先关闭Gzip,看年没有启用Gzip压缩时的HTTP头 信息截图:

可以看到,上图中的 Compression Saving显示为0,我们启用Gzip压缩,再来看一下HTTP头信息情况:

上图中可以看到,Content-Encoding显示为gzip,右侧Compression Saving即压缩率显示为73.29%,说明压缩还是很有效的。

用这个软件大家也可以测试一下自己网站的压缩率。

6、有关压缩率的设定

根 据官方的测试数据,200KB 的网页依据不同 gzip 等级的压缩比例为

Gzip level 1 0.593

Gzip level 6 (预设) 0.586

Gzip level 9 0.585

由此 可知,大于 1 以后的压缩效益是很低的,可官方说法,这会消耗服务器资源,因此他们强烈建议设定成 1,gzip 预设是 6。

用某论坛的实际 测试结果如下:

level 9 : 88.7% 压缩比

level 1 : 86.7% 压缩比

用我自己的网站测试数据如下

Level1时的压缩比为62.93%,在Level9时的压缩比为64.30%,可以 看到Level1和Level9基本相差不大。

所以我是建议用 1 就好,用 9 对服务器负载会重,人少没感觉,人一多就会服务器负载就重多了,而且设成 1 和 9 压缩比其实差不了多少。

第四 步:安装MySQL5.1

我们这里介绍的是MySQL5.1.48版本。

MySQL的下载地 址在本篇开头已经给出。

关于MySQL安装比较简单,这里只给出截图,不再详述

由于ZendOptimizer到现在也没有出用于php5.3的版本,我们也就没法安装了。

官方讨论区说,是因为 php5.3的改动太大,使ZendGard也要发生很大变化,所以ZendOptimizer要等Gard完善后才能出来。

至 此,IIS+FastCGI+PHP5.3+MySQL+Gzip完整配置完成。

分享到:
评论

相关推荐

    IIS+FastCGI+PHP5.3+MySQL5.1+Gzip详细教程[汇编].pdf

    【IIS+FastCGI+PHP5.3+MySQL5.1+Gzip详细教程】 本教程主要针对软件开发人员,特别是那些希望在Windows环境中搭建Web服务器的新手。教程涵盖了如何使用IIS(Internet Information Services)作为Web服务器,FastCGI...

    精品图文教程IIS+FastCGI+PHP5.3+MySQL5.1+Gzip

    本篇图文教程详细介绍了如何配置IIS+FastCGI+PHP5.3+MySQL5.1+Gzip环境。通过一系列步骤,即使是初学者也能顺利地搭建出一个功能完备的Web开发环境。该教程的特点在于其不仅提供了丰富的截图指导,还特别强调了使用...

    IIS+FastCGI+PHP5.3+MySQL5.1+Gzip详细配置图文教程.pdf

    【IIS+FastCGI+PHP5.3+MySQL5.1+Gzip配置详解】 在搭建基于Windows的Web服务器环境中,IIS (Internet Information Services) 与FastCGI的结合能够提供高效稳定的PHP运行环境。这篇教程主要针对的是使用IIS 与...

    IIS配置FastCGI PHP5.3 MySQL5.1 Gzip详细教程

    本教程将详细讲解如何配置IIS以支持FastCGI运行PHP5.3,集成MySQL5.1数据库,并启用Gzip压缩,以提高网站性能。 首先,我们要了解IIS与FastCGI的关系。FastCGI是一种持久化处理程序的协议,它可以允许IIS与PHP等...

    IIS配置FastCGI PHP5.3 MySQL5.1 Gzip 详细教程

    本文是详细的将整个配置过程和 测试过程都...本 帖旨在帮助新手快速配置出IIS + FastCGI + PHP5.3 + MySQL5.1 + Gzip环境,高手可以飘过,本文里面图片较多,每步操作均有详细的图片说明,只要照做,均可一次配置成功。

    IIS配置FastCGI PHP5.3 MySQL5.1 Gzip教程.rar

    本文是详细的将整个配置过程和 测试过程都详细截图...本帖旨在帮助新手快速配置出IIS FastCGI PHP5.3 MySQL5.1 Gzip环境,高手可以飘过,本文里面图片较多,每步操作均有详细的图片说明,只要照做,均可一次配置成功。

    最新IIS_PHP5.3_MySQL5.1图文教程详解

    【IIS+FastCGI+PHP5.3+MySQL5.1+Gzip详细配置图文教程】 本教程主要讲解如何在Windows环境下搭建一个基于IIS的Web服务器,配置FastCGI以支持PHP5.3运行,并集成MySQL5.1数据库服务,同时启用Gzip压缩以提高网页加载...

    IIS6+php5.3+FASTCGI+mysql+phpmyadmin配置手册.pdf

    【标题】:“IIS6+php5.3+FASTCGI+mysql+phpmyadmin配置手册.pdf” 【描述】:这份配置手册详细介绍了如何在IIS6环境下搭建PHP5.3、FASTCGI、MySQL5.1以及phpmyadmin的环境。 【标签】:“PHP” 在Windows IIS6上...

Global site tag (gtag.js) - Google Analytics