Windows 2003 IIS下配置MySQL+PHP+ISAPI_Rewrite+Zend+Xcache

来源:互联网 发布:梦幻西游 mac 编辑:程序博客网 时间:2024/05/27 09:47

此文章首发于牛C网,如需转载,请保留此行...

一.准备工作

windows 2003,自己买吧...

安装IIS 6.0:
安装系统后在"控制面板"->"添加或删除程序"->"添加/删除Windows组件"->双击"应用程序服务器"->然后选中"Internet信息服务(IIS)"->确定->安装完毕...

下载PHP:http://cn2.php.net/get/php-5.2.5-Win32.zip/from/this/mirror

下载MySQL:http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a-win32.zip/from/pick#mirrors
根据自己的速度,随便点击下面一个国家后面的HTTP/FTP之类的链接进行下载...

下载Zend Optimizer:http://www.zend.com/en/products/guard/downloads
自行选择版本下载,我下的是3.3.3版...

下载Xcache:http://xcache.lighttpd.net/wiki/Release-1.2.2

很多人可能不知道Xcache是什么,下面作个简单介绍:

XCache是一种新的php缓存器,经过本人测试,在Windows下效果比同类软件强很多.

实际测试效果如下(非科学方法):

原网页平均执行时间: 0.13 秒
加速后网页平均执行时间: 0.03秒
原CPU占用率: 15% - 60%
加速后CPU占用率: 3% - 30%


由上数据可以看出,使用这个加速器可以很大程度的降低CPU占用(但会造成更多的内存占用),并使网页执行时间缩短.

由于其他同类软件对Windows的支持不够好,所以选用XCache是Windows主机的不二之选.

已经配置好MySQL + PHP环境,想看XCache的配置,请移步到XCache在Win2003与IIS6下的成功配置方法与疑难解答查看.

下载ISAPI_Rewrite...(压缩包里包含了Bo-Blog 2.1的伪静态配置,如果安装Bo-Blog的话可以直接使用)

下载文件 (已下载 443 次)
点击这里下载文件: ISAPI_Rewrite.rar



也可以到官方进行下载:http://www.isapirewrite.com/download/isapi_rwl_0049.msi

二.配置系统环境

1.安装并配置MySQL
解压MYSQL,然后直接运行...
 

选择"Custom"自定义安装,
 

点击"Change"更改 MySQL 安装目录(如果有需要的话),
 

待文件复制安装完毕后,进行MySQL设置界面,单击"Finish".
 

选择"Detailed Configuration"进行详细配置,
 

选择MySQL 运行模式为"Server Machine:
 

选择MySQL数据库默认存储方式为"Non-Trans Only ( MYISAM)"
 

设定MySQL最大连接数:一般设置为 128 - 512 之间的整数。
 

设定MySQL网络参数,注意:不要启用"Strict Mode".
 

设定MySQL默认字符集,以用户站点语言为准,例如Bo-Blog 2.1版用的是utf8,那么数据库就选utf8,
 

Windows 环境设定,第一项为作为服务启动的名称,下面的复选框询问是否让该服务自动运行,下面的"Include Bin Directory in Windows PATH"指明是否把MySql的路径插入到系统变量中,一般选上.
 

修改设定 root 用户密码,注意:不要选上"Create An Anonymous Account",该选项为是否要启动匿名远程连接模式,使用该模式对数据库非常不安全,
 

完成 MySQL 的安装,并启动 MySQL服务。
 

2.测试MySQL

打开"开始"菜单->选择"运行"->输入"cmd"->然后在弹出的cmd窗体中输入"MySQL –u root –p"->输入在MySQL配置过程中设定的密码,如果显示如下,MySQL即配置无误...

Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 8352
Server version: 5.0.51a-community-nt MySQL Community Edition (GPL)

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql>


3.把PHP加入环境变量

解压php,本例是解压到"D:/php"...

右击"我的电脑"->"属性"->选择"高级"标签页->点击"环境变量"->点击下面"系统变量"列表内的"Path"->点击下面的"编辑"->在"变量值"最后处加上";D:/php"(php的解压路径,不要忘记先加上";"号)->确定->点击"编辑"按钮前面的"新建"按钮->在"变量名"后输入"PHPRC"->"变量值"输入"D:/PHP"(PHP的解压路径)->点击"确定"完成...

4.修改php.ini配置文件

进入"D:/php"文件夹,将"php.ini-dist"重命名为php.ini

点击"开始"菜单->选择"运行"->输入"php.ini"->确定->打开php.ini(这样做是为了测试"环境变量"是否设置正确,当然可以直接双击php.ini打开文件...呵呵)

然后搜索"extension_dir"找到extension_dir = "./",并改成extension_dir ="ext"(如果怕配置错误,可以直接点"开始"->"运行"->输入"ext"->确定,如果打开一个全是.dll的文件夹,那证明"环境变量"配置正确)

搜索"Windows Extensions"

在"Windows Extensions"下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的";"号即可)

extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_MySQL.dll


推荐高级用户(对PHP函数很熟悉的)搜索找到"disable_functions =",在其后面增加禁止使用的PHP函数,如"shell_exec","exec","scandir"等...一般用户可以留空...

5.建立网站

点击"开始"->选择"运行"->输入"inetmgr"(或者打开"控制面板"->选择"管理工具"->选择"Internet信息服务(IIS)管理器")启动IIS管理器,展开左边的树目录,右击"网站"->选择"新建"建立一个网站(或虚拟主机),
 
 

输入网站名称作为IIS中的标识,可任意输入,
 

网站IP地址不用填写,端口如没有特殊要求则保持"80"即可,最后"此网站的主机头"下正确输入网站域名,
 

在硬盘分区中建立目录,并指定,推荐网站放在独立的分区中(本例以"E:/wwwroot/web"为网站存放目录),并确定路径下面的"允许匿名访问网站"被选上.
 

对于PHP应用,需要给予该站点"读取"和"运行脚本"的权限.
 

至此,已经成功的新建了一个站点,
 

6.IIS与PHP整合配置-使站点支持PHP

展开左边的树目录,找到刚刚建立的网站"PHPSite",右击选择"属性",
 

在站点属性窗口中,单击"主目录"页签,单击"配置"按钮,在新弹出的"应用程序配置"对话框中,单击"添加"按钮,加入PHP的ISAPI支持,选择"可执行文件"为"D:/PHP/php5isapi.dll"(PHP目录下的php5isapi.dll),扩展名为".php"(请不要忘记了前面的一个"."),"限制动作"为"GET,POST",单击"确定"添加,并在"应用程序扩展"窗口中查看".php"扩展是否加载成功.若成功,则单击"确定"关闭配置窗口,回到站点属性主窗口.
 

单击"文档"页签,在"默认内容文档"中根据网站程序首页名称添加对应的页面名称,一般为"index.php",如有静态化的话,可能包含"index.htm","index.html", 把他们都添加到列表里,完成后,单击"确定",关闭站点属性配置窗口,回到 IIS管理器主界面.
 

展开管理器左边的树目录,右键单击"Web 服务扩展",选择"添加一个新的 Web 服务扩展",
 

在如下图所示的"新建WEB服务扩展"对话框中,"扩展名"填写PHP,"文件"选择"D:/PHP/php5isapi.dll",并设置该PHP扩展默认为允许.
 

重启IIS服务,
 
 

到此,IIS与PHP整合完毕...

7.测试PHP是否正常

进入"E:/wwwroot/web"目录,新建一个文本文件,并在其中输入以下代码:

<?php
phpinfo();
?>


保存,并把文件名改为"info.php".

如果发现无法更改扩展名,请点击任意一个Windows窗体菜单栏中的"工具"菜单->选择"文件夹选项"->点击"查看"标签页->在"高级设置"中找到"隐藏已知文件类型的扩展名"前面的勾选去掉,点击"确定"关闭,
 

打开IE浏览器,输入:http://www.youdomain.com/info.php,如果能够正常显示PHP支持信息则表明配置整合是成功的.

8.安装Zend Optimizer优化器

双击下载的ZendOptimizer安装文件,安装过程非常友好,也比较简单,因而此处不再进行截图说明.

但需注意以下几点:

在安装过程中提示php.ini的位置时,请选择PHP的目录,本例为"D:/php".

安装过程中提示IIS网站根目录的位置,本例为"E:/wwwroot"

ZendOptimizer安装完成后会自动重启IIS服务,重启完成后需要再次打开IE浏览器窗口,查看info.php 支持信息,观察是否包含了ZendOptimizer支持信息,如果没有,则说明Zend Optimizer 没有安装成功,Zend Optimizer支持信息
 

9.安装Xcache缓存器

解压Xcache,把php_xcache.dll放在php.ini中指定extension_dir中(本例为"D:/php/ext).

下面开始配置,打开php.ini

添加(记得是添加,不要更换原来的zend_extension_ts参数)
zend_extension_ts = "($extension_dir)/php_xcache.dll"

本人配置的时候,把($extension_dir)替换成绝对路径ext(因为建立了环境变量,所以直接使用ext就行,不需要再输入路径)才行的.

添加以下项到php.ini末尾,可以直接复制以下配置...

[xcache.admin]
xcache.admin.enable_auth = Off
xcache.admin.user = "UserName"
xcache.admin.pass = "PassWord"
[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 64M
xcache.count = 4
xcache.slots = 64K
xcache.ttl = 1800
xcache.gc_interval = 1800
xcache.var_size = 8M
xcache.var_count = 4
xcache.var_slots = 64K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = "xcache"
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = Off
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coveragedump_directory = ""

需要修改的值已经用蓝色标出,说明如下:

xcache.admin.enable_auth  XCache后台是否需要验证(这个后台在刚才下载的XCache的admin目录中,可以自由处理,如不需要请设置成Off)
xcache.admin.user XCache后台登陆用户名
xcache.admin.pass XCache后台登陆密码
xcache.size   XCache的内存缓存大小,普通网站建议设置为64MB,如果是IDC服务器,可以设置成256MB
xcache.count  设置为CPU的数量(双核算2个,比如我的是两个双核Xeon 3.0,就设置为4)
xcache.var_size
xcache.var_count  跟上两条一样
xcache.mmap_path  共享内存标识名,尽量用xcache,避免跟其它软件冲突
xcache.optimizer  优化器,如果没安装Zend可以开启,上面我们已经安装好Zend了,所以设置成Off

至此配置完毕,重新启动IIS即可...

然后再次打开info.php,查找"XCache",如果找到相关XCache的信息,那代表配置正确...相关信息如下(图中所示的内容会因为参数配置不同而不尽相同):
 

如果查找不到,请尝试以下疑难解答中的第三点...

至于为什么不用extension,而用zend_extension_ts,因为这个发行版的xcache的接口是ZEND_API,直接用extension无法初始化.

XCache疑难解答

1.phpinfo()中显示没有加载php_xcache.dll
   检查php_xcache.dll的NTFS权限是否正确,需要给网站用户(或者可以用Guests)只读权限.

2.出现php内存错误
   使用了extension调用php_xcache.dll,请尝试使用zend_extension_ts.

3.打开网页没有响应,出现错误 Fatal error: [Zend Optimizer] Zend Optimizer *** is incompatible with XCache 1.2.2
   这是因为安装了Zend导致,解决方法很简单,把调用php_xcache.dll的zend_extension_ts提到调用zend的前面.如:
    zend_extension_manager.optimizer_ts="D:/Program Files/Zend/ZendOptimizer-3.3.0/lib/Optimizer-3.3.0"
    zend_extension_ts="C:/php/ext/php_xcache.dll"
    zend_extension_ts="C:/Program Files/Zend/ZendOptimizer-3.3.0/lib/ZendExtensionManager.dll"


到此,XCache缓存器配置完毕...

10.安装ISAPI_Rewrite URL伪静态模块

想知道URL伪静态的说明及对于SEO的影响,请移步到http://www.niuc.net/post/44/查看...

IIS下的配置方法:打开"Internet信息服务(IIS)管理"->右击"PHPSite"->选择"属性"->点击"ISAPI筛选器"选项卡->点击"添加"添加筛选器->名称填个rewrite->路径自己指定"ISAPI_Rewrite.dll"(在ISAPI_Rewrite的根目录下)->点击"确定".

然后配置ISAPI_Rewrite,打开ISAPI_Rewrite目录,打开"httpd.ini",在里面放入对应你网站程序的配置(本站下载的ISAPI_Rewrite里包含了Bo-Blog2.1的配置文件,可直接使用),配置自己根据网站程序在baidu或者google上搜吧...如果是自己写网站程序,请自行写配置文件...

重启IIS(重启方法上面已经给出),配置完毕...然后到对应的网站程序里打开对应的选项...

到此为止...所有的配置已经成功完成,如果有任何疑问或者意见,请留言...谢谢观看...希望对你有帮助...

PS.以上流程部分来自Discuz的用户手册...