命令:C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe –u
2、把IIS切换为32Bit模式运行
命令:Cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3、重装安装32Bit .NET 2.0
命令:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -r
4、安装64位系统下运行的32Bit Asp.net 1.1
5、使用命令修改默认IIS支持asp.net版本为:ASP.NET 1.1
命令:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe –r
批处理程序:
@echo off
echo 卸载64Bit ASP.NET 2.0
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -u
echo 切换IIS为32Bit运行模式
Cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
echo 修复ASP.NET2.0
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -r
echo 安装ASP.NET1.1
Frameworks\Framework_1.1.exe /c /t:c:\windows\temp\
c:\windows\temp\netfx.msi /passive
echo 切换Asp.net为v1.1.4322
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -r
@pause
echo 安装ASP.NET1.1
Frameworks\Framework_1.1.exe /c /t:c:\windows\temp\
c:\windows\temp\netfx.msi /passive
说明:标红色的为自动安装asp.net 1.1 安装文件放在和秕处理文件同目录的Frameworks文件夹下,文件名为:Framework_1.1.exe。如:批处理文件在C:\test\,则在C:\test\下建立文件夹:Frameworks,并把64位系统下运行的asp.net1.1复制到此目录下,并更名为:Framework_1.1.exe。
ASP.NET 版本更换方法
1. 更改当前IIS下所有站点的ASP.NET的版本,和默认新建站点的asp.net版本号。
ASP.NET 1.1:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe –r
ASP.NET 2.0:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -r
2. 单独更改某一站点的asp.net版本
ASP.NET 1.1:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -s W3SVC/%vp%/ROOT/
ASP.NET 2.0:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -s W3SVC/%vp%/ROOT/
说明:标红色中的%vp%为站点的标识号。在IIS中可以看到。
批量处理程序:
@echo off
set /p vp="请输入要修改的站点标识符:"
echo 1、Asp.Net 1.1
echo 2、Asp.Net 2.0
echo 3、退出
set /p AspNetVer="请选择Asp.Net版本:"
if %AspNetVer% == 1 goto one
if %AspNetVer% == 2 goto two
if %AspNetVer% == 3 goto end
:one
%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -s W3SVC/%vp%/ROOT/
goto end
:two
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -s W3SVC/%vp%/ROOT/
goto end
:end
echo end
@pause
2、ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。
在Windows Server 2003的IIS6下配置ISAPI方式的PHP,配置方法是,在IIS的“WEB服务扩展”中,添加一个新的WEB服务扩展,程序后缀为PHP,ISAPI程序为php5isapi.dll,然后再“环境变量”-“系统变量”中增加变量名PHPRC,数值为php.ini的路径,在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加...”,在“可执行文件”设为: c:\php\php5isapi.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。重启服务器即可完成PHP的配置。
3、FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。
FastCGI已经集成于IIS7,也支持IIS6,在IIS6中的安装方法可参见微软的官方文档,我这里简单翻译一下。
先点这里下载一个32位的FastCGI extension for IIS,然后将其安装,安装后的文件应该放到system32\inetsrv目录下。
之后打开system32\inetsrv目录,执行下面的语句,其中c:\php为你的PHP目录,可以修改为其他数值。
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:\php\php-cgi.exe"
在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加...”,在“可执行文件”设为: c:\windows\system32\inetsrv\fcgiext.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。
修改php.ini文件,增加如下语句:
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
之后打开system32\inetsrv目录,执行以下语句:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
最后,配置c:\php目录的安全性,使得IIS_WPG组对于这个目录有读取和执行的权限。
这时候,基于FastCGI的PHP就成功配置到IIS6上了。
不过根据我自己的测试,FastCGI的性能比ISAPI的好像高不了多少,不知道Windows Server 2008下的IIS7是不是会好一些。这里是微软提供的基于内置FastCGI的IIS7安装PHP的方法。
isapi的最大缺点在于不稳定,程序故障容易引起整个web服务器崩溃。
国外的一个评测,在Windows IIS 6下,FastCGI性能并不如ISAPI,但在IIS 7下则性能优秀。
在安装时我采用的是手动分区,我讲一下大致过程,其它的具体步骤这里不提。
我们首先来温习一下创建LVM的过程:
1、划分出一块空白的硬盘空间
2、在这块空白空间上创建PV
3、在PV上创建VG
4、根据需要在VG上创建LV
一、选择手动分区以后,会出现如下界面。界面的最上方是硬盘基本信息;中间是六个按钮,用来对硬盘进行分区操作;下方是硬盘分区的信息。
我们可以看到,这是一块大小为20G的未分区硬盘。
二、单击界面中间的New按钮,创建/boot分区。这样把硬盘分成了两个部分:/boot分区和空白分区。接下来我们就要在空白分区上创建LVM。
三、选中空白分区,单击Edit按钮,弹出窗口,在File System Type中选择physical volume (LVM)。这一步骤即为创建PV。
四、现在我们来创建VG。选中创建好的PV,单击LVM按钮,会弹出Make LVM Volume Group窗口。我们选择Name为默认的VolGroup00,把PE修改为4M,默认的PE是32M。
五、创建好VG以后,我们就要在它上面根据需要创建LV。我划分了home、var、swap和/四个LVM分区,下面以创建swap分区来讲一下。
打开VG窗口,单击右下方的Add按钮,File System Type选择swap,Name更改为lv_swap,大小设为1000M。
六、按照创建swap分区的方法来创建home、var和/分区。下面这张图片就是完成的硬盘分区信息。
到这里,手动创建分区就完成了。
我们回想一下,如果选择系统自动创建分区,那又是什么一种情况。系统自动创建分区的话,它会创建三个分区:单独的/boot分区和名为LogVol00和LogVol01的两个逻辑卷,其中LogVol00为/分区,LogVol01为swap分区。
再来想一下,我们用grup命令行启动系统时的情况。用grub命令行启动系统需要指定/boot分区、内核映像和根分区、initrd.img。在系统自动分区的情况下,指定根分区时,我们输入的是roroot=/dev/VolGroup00/LogVol00。
在这次手动分区中,我更改了swap分区的名称,但是没有更改根分区的名称,所以指定根分区时没有变化;倘若更改了根分区的名称,在指定时就要相应调整命令行中的根分区名称。
li_qinshan 原创