Windows2003+IIS7 Express使用FastCgi运行php

admin3年前服务器57

想在windows 2003中好好跑php,又要节省内存,真是很为难的事情,考虑到IIS7.5 Express可以在WIN2003上跑,不但能以fastcgi的方式支持php,还自带Rewrite组件,只需简单改改web.config的rule规则就可以了。

于是下载了IIS7.5 Express后,安装,还需要对applicationHost.config进行配置,首先得找到这个文件在哪里,如果能在"我的文档"中IIS7Express目录下找到,那就是它了,否则应该就是在IIS7 Express的安装目录下。

1、先修改:defaultDocument节,加入 <add value="index.php" />


<defaultDocument enabled="true">
<files>
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index" />
<add value="iisstart.htm" />
<add value="default.aspx" />
<add value="index.php" />
</files>
</defaultDocument>

2、找到fastcgi节。


<fastCgi>
<application fullPath="C:\php\php-cgi.exe" monitorChangesTo="php.ini" activityTimeout="600" requestTimeout="600" instanceMaxRequests="10000">
<environmentVariables>
<environmentVariable name="PHP_FCGI_MAX_REQUESTS" value="10000" />
<environmentVariable name="PHPRC" value="C:Program Files (x86)iis expressPHPv5.4" />
</environmentVariables>
</application>
</fastCgi>

3、找到handlles,加入


<add name="PHP_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\PHP\php-cgi.exe" resourceType="Either" />


尤其要注意的一是,这一句最好加在最前面,也就是在<handlles>下面的第一句,避免被其它Handle抢先处理了。

以上配置中,C:\php\php-cgi.exe 的部分替换成自己的php文件夹中的php-cgi.exe的位置。

4、在<site>配置节下,直接修改站点信息,或直接用appcmd.exe add site来添加站点。

5、找到诸如wordpress的安装文件夹,创建一个web.config文件,在configuration配置节下,添加Gzip压缩规则。


<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>

6、同样在web.config中,Wordpress的rewrite完整的web.config文件内容如下:

<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>
</configuration>

这样就完全配置完毕了,然后在IIS7 Express目录下,找到IISExpress.exe,直接双击运行,或者用命令行来执行指定加载哪个站点. 
iisexpress.exe /site:'站点名称1"
iisexpress.exe /site:'站点名称2"
访问一下,就会发现访问速度比在windows下使用apache要快得多,而且少跑一个nginx,内存占用整体上也少了很多。


免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

什么是aspnet主机,了解aspnet主机的重要性

1.什么是asp.net主机?asp.net主机是一种可以运行ASP.NET应用程序的主机。ASP.NET是一种由微软开发的动态网页技术,它允许开发人员使用各种编程语言(如C#、VB.NET等)来创建...

自己建网站怎么选择服务器

很多用户在建网站时候,大部分都是先在自己的电脑上安装web环境,然后安装网站管理系统来做网站,因为本机操作的好处是修改内容,尤其修改模板,改文件什么的都方便很多,等网站制作完后再选择服务器上传到服务器...

备案域名需要注意哪些问题,备案域名的申请流程和要求

备案域名,是指在中国大陆地区,所有使用在该地区的互联网服务的网站都必须进行主体信息备案和域名备案,以便中国政府可以监管和规范网络信息。备案域名是指网站要备案的域名,包含最域名和二级域名。备案域名的申请...

网站解决和优化Server is too busy的一些方法

一般来说,当你的iis发生了诸如"http:1001 server is too busy"的错误时,是因为你的asp程序中开了过多的server.createobject请求,然...

深入apache host的配置详解

<VirtualHost *:80>    ServerAdmin webmaster@dummy-host.127.0.0.1  &nb...

宝塔面板搭建云服务器优化教程

随着云计算的井喷式发展,云服务器的用户量暴增,企业用户和个人站长上云已经成了首选。用宝塔面板搭建云服务器使得运维成本也直线下降,可随着网站流量的增长,高并发大流量的网站会出现加载缓慢,卡顿,甚至还会出...