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完整配置完成。

本文从开始到写成历经了整两天时间,由于个人水平有限,只能 写这最简单的文章,高手就不用看了,希望对刚入门的新手有所帮助,我也就达到目的了。文中对于理论几乎没有阐述,只是对配置过程进行了最详细的介绍,这样 使新手即使不太明白,照本文也可以配置出一样的环境来,本文章的错误及疏漏之处,还请大家指出来,大家在配置中有何问题,我们一起来探讨解决。

本文Word文档下载地址: http://www.jb51.net/books/55160.html

(0)

相关推荐

  • Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    第一步:下载安装的文件     1. MySQL:下载地址mysql-5.1.49-win32.msi:     2. Apache: 下载地址httpd-2.2.16-win32-x86-openssl-0.9.8o.msi:     3. PHP5.3.3  下载地址php-5.3.3-Win32-VC6-x86注意:一定要下载php-5.3.3-Win32-VC6-x86版本     的,不要下载php-5.3.3-nts-Win32-VC6-x86版本,更不要下载VC9版本的,因为他是I

  • mysql 5.7.30安装配置方法图文教程

    之前把服务器里面的MySQL卸了重装,安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录,发现好多坑 截个图,作为笔记,也正好留给需要的朋友们. MySQL 5.7.3.0 安装 全程截图 经典的MySQL数据库就不需要过多介绍了. 本篇主要介绍MySQL的安装过程,步步截图,跟着弄就行. 1. 下载软件 在这里,我使用的是新版的MySQL 5.7.3.0,其实这些版本大都一样,可忽视. 需要软件的可自行Google,官网可免费下载,不过貌似需要注册账号登录了才能

  • MySQL5.1主从同步出现Relay log read failure错误解决方法

    众所周知MySQL5.1的Replication是比较烂的.MySQL的每一个版本更新关于同步方面每次都是可以看到一大堆.但MySQL 5.1性能是比较突出的.所以经不住诱惑使用MySQL 5.1.所以也要经常遇到一些Bug.如: 复制代码 代码如下: mysql> show slave status\G *************************** 1. row ***************************                Slave_IO_State: Wa

  • Windows下安装MySQL5.5.19图文教程

    本文详细介绍了Windows下安装MySQL5.5.19的全过程,希望对初学者有帮助. 下载mysql-5.5.19-win32.msi安装文件,双击运行,出现如下界面. mysql安装向导启动,按"Next"继续 在 I accept the terms in the License Agreement(我接受许可协议中的条款)前面打上勾.按"Next"继续. 选择安装类型,有"Typical(默认)"."Custom(自定义)&qu

  • mysql5.1.26安装配置方法详解

    MySQL安装与配置 1.所用MySQL的版本为:MySQL_5_1_26.msi: 2.下载好软件后双击进入以下界面: 3.点击Next,进入以下界面: 4.选择"Custom"后,点击Next,进入以下界面: 5.然后点击图中所有的下拉可选项(总共四个),选择第二个选项,即"This feature,and all subfeatures,will be...":其中的一个示例截图如下: 6.然后点击"Change"按钮,将安装路径改为:D:

  • mysql 5.7.12 winx64安装配置方法图文教程

    之前安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录,发现好多坑 1.mysql-5.7.12-winx64.zip下载 官方下载地址:http://dev.mysql.com/downloads/mysql/ 2.解压到C:\job\mysql-5.7.12-winx64 3.在C:\job\mysql-5.7.12-winx64下新建my.ini配置文件 内容如下: ####################配置文件开始###################

  • win2008 R2 下 IIS7.5+PHP5.2.17+Mysql5.5.16+Zend3.3.3

    前言 windows Server 2008 R2 下面IIS7.5已经对fastcgi的支持有了很大改进,还在使用PHP-ISAPi模式的朋友可以试一下. 鉴于目前php5.3.1还不能完美的支持主流php系统,不建议大家使用! windows2008 Server R2下面环境搭建分三种情况,大家可以根据自己的运行需要选择. 1. IIS7.5+PHP+Mysql+Wincache 1.0RC 这个环境组合大家已经看出来了 没有zend. 各个版本分别是: PHP5.2.17–请注意是非线程

  • mysql一键安装教程 mysql5.1.45全自动安装(编译安装)

    一.问题来源  安装MySQL如果手动安装一台还可以,但安装多台,手动安装很麻烦,需要编写一个shell程序 install_mysql.sh来进行安装 二.程序说明  将MySQL5.1.45安装到了 /home/longxibendi/mysql/usrl/local/mysql  数据文件以及日志文件设置在了 /home/longxibendi/mysql/3309/  配置文件my.cnf 在   /home/longxibendi/mysql/3309  端口使用  3309 三.源程

  • Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的配置优化第1/2页

    对其用户和应用程序来讲,每一个VPS平台的运行和管理都与一台独立主机完全相同,因为每一个VPS均可独立进行重启并拥有自己的root访问权限.用户.IP地址.内存.过程.文件.应用程序.系统函数库以及配置文件.VPS服务器最重要的指标就是内存大小,多个VPS服务器可以共享一颗CPU,但不能共享同一块内存.内存越大,价格越贵. 下面,以我的博客所在的VPS为例,介绍在128M内存下对 Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 的优化. 至于 Nginx

  • 在VS2008中编译MYSQL5.1.48的方法

    1. 下载MYSQL5.1.48源码,CMAKE,VS2008 2. 安装CMAKE和VS2008,解压MYSQL5.1.48到D:\mysql 3. 打开CMD:CD D:\mysql 4. 在CMD中运行命令:wscript win\configure.js WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro 5. 在CMD中运行命令:win\build-vs9.bat 6.

随机推荐