系统约定
环境软件安装位置:D:\ServerRoot
PHP安装位置:D:\ServerRoot\PHP
MySQL安装位置:D:\ServerRoot\MySQL
Zend Optimizer安装位置:D:\ServerRoot\Zend
IIS网站站点根目录:D:\wwwroot
MySQL 数据库位置:D:\ServerRoot\Database
环境部署
安装MySQL
(1) 安装软件
双击 MySQL-essential-5.*.*-win32.msi ;如图:
选择 Custom 自定义安装,如图:
点击"Change"更改 MySQL 安装目录,如图:
待文件复制安装完毕后,进行 MySQL 设置界面,单击 Finish 。如图:
选择 Detailed Configuration(详细配置),如图:
选择 MySQL 运行模式:Server Machine 如图:
注意:
·Developer Machine(开发机器):该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序。将MySQL服务器配置成使用最少的系统资源。
· Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其它应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。
· Dedicated MySQL Server Machine(专用MySQL服务器):该选项代表只运行MySQL服务的服务器。假定运行没有运行其它应用程序。MySQL服务器配置成使用所有可用系统资源。
选择 MySQL 数据库默认存储方式:Non-Transactional Database Only ( MYISAM) 如图:
通过Database Usage(数据库使用)对话框,你可以指出创建MySQL表时使用的表处理器。通过该选项,你可以选择是否使用InnoDB储存引擎,以及InnoDB占用多大比例的服务器资源。
注意:
Multifunctional Database(多功能数据库):选择该选项,则同时使用InnoDB和MyISAM储存引擎,并在两个引擎之间平均分配资源。建议经常使用两个储存引擎的用户选择该选项。
Transactional Database Only(只是事务处理数据库):该选项同时使用InnoDB和MyISAM 储存引擎,但是将大多数服务器资源指派给InnoDB储存引擎。建议主要使用InnoDB只偶尔使用MyISAM的用户选择该选项。
Non-Transactional Database Only(只是非事务处理数据库):该选项完全禁用InnoDB储存引擎,将所有服务器资源指派给MyISAM储存引擎。建议不使用InnoDB的用户选择该选项。
设定 MySQL 最大连接数:一般设置为 128 - 512 之间的整数。如图:
注意:
· Decision Support(决策支持)(DSS)/OLAP:如果服务器不需要大量的并行连接可以选择该选项。假定最大连接数目设置为100,平均并行连接数为20。
· Online Transaction Processing(联机事务处理)(OLTP):如果你的服务器需要大量的并行连接则选择该选项。最大连接数设置为500。
· Manual Setting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。从前面的下拉框中选择并行连接的数目,如果你期望的数目不在列表中,则在下拉框中输入最大连接数。
设定 MySQL 网络参数,注意:不要启用 Strict Mode! 如图:
MySQL服务器支持多种字符集,可以设置适用于所有表、列和数据库的默认服务器字符集。使用Manual Selected Default Character Set/Collation(字符集对话框)来更改 MySQL服务器的默认字符集。如图:
注意:
· Standard Character Set(标准字符集):如果想要使用Latin1做为默认服务器字符集,则选择该选项。Latin1用于英语和许多西欧语言。
· Best Support For Multilingualism(支持多种语言):如果想要使用UTF8做为默认服务器字符集,则选择该选项。UTF8可以将不同语言的字符储存为单一的字符集。
· Manual Selected Default Character Set/Collation(人工选择的默认字符集/校对规则):如果想要手动选择服务器的默认字符集,请选择该项。从下拉列表中选择期望的字符集。
服务选项对话框,如图:
要想将MySQL服务器安装为服务,但是不自动启动,不选中Launch the MySQL Server Automatically选项旁边的检查框。
修改设定 root 用户密码,注意:不要启动远程连接模式! 如图:
注意:
要想设置root密码,在New root password(输入新密码)和Confirm(确认)两个框内输入期望的密码。如果重新配置已有的服务器,你还需要Current root password(当前root密码)框内输入已有的root密码。
要想防止通过网络以root登录,选中Root may only connect from localhost(只允许从本机登陆连接root)选项旁边的框。这样可以提高root账户的安全。
要想创建一个匿名用户账户,选中Create An Anonymous Account(创建匿名账户)选项旁边的框。创建匿名账户会降低服务器的安全,并造成登录和许可困难。因此不建议。
完成 MySQL 的安装,并启动 MySQL 服务。
(2) 测试 MySQL 工作是否正常。
打开 cmd 命令提示符窗口,输入命令:MySQL –u root –p
输入密码后,如果能够正常进入 MySQL 控制台则说明 MySQL 安装正常。
(3) 更改 MySQL 数据库目录
a) 打开 cmd 命令提示符窗口,输入命令:net stop MySQL 停止 MySQL 服务运行;
b) 打开D:\ServerRoot\MySQL\my.ini
找到:
Datadir = "D:\ServerRoot\MySQL\data"
修改为:
Datadir = "D:\ServerRoot\Database"
c) 将 D:\ServerRoot\MySQL\data 文件夹复制到 D:\ServerRoot\ ,并重命名为D:\ServerRoot\Database;
d) 打开 cmd 命令提示符窗口,输入命令:net start MySQL 启动 MySQL 服务。
e) 重新测试 MySQL 是否工作正常。
以往在IIS下搭建php环境使用的是ISAPI作为php运行的环境,但使用ISAPI搭建PHP环境会导致网站不甚稳定,使用CGI模式搭建PHP环境效率比较低下。因此微软推出了FastCGI。
要在FastCGI配置php环境需要先下载FastCGI和PHP,如果需要使用Zend Optimizer的话请使用PHP Thread Safe版,如果不使用Zend,则直接使用PHP NTS版效率会更高。
下载地址:
FastCGI
x86 http://go.microsoft.com/?linkid=9707432
x64 http://go.microsoft.com/?linkid=9707433
PHP http://windows.php.net/download/
下面开始安装:
1. 安装php环境,不断下一步之后到配置Web Server Setup。
此处可按需选择,我们选择IIS FastCGI。
官方提供的安装包只是将安装过程稍微简化一点而已,没有十分特别的内容。我们完全可以下载Zip包自行解压配置。
2. 安装 PHP
(1) 解压缩下载的 PHP-5.*.*-*.zip 文件,并将其复制到:D:\ServerRoot\PHP ;
(2) 进入 D:\ServerRoot\PHP 文件夹,将 php.ini-production 重命名为 php.ini ;
PS:PHP5新版本中出现了php.ini-developmen和php.ini-production这些文件有了新的命名:php.ini-production对应于php.ini-recommendedphp.ini-development对应于php.ini-dist在Windows下安装PHP,通常要将php.ini-dist或php.ini-recommended重命名为php.ini。根据说明,二者不同之处在于 php.ini-dist 适合开发程式使用(测试用),而 php.ini-recommended 拥有较高的安全性设定,则适合上线当产品使用。
(3) 打开 php.ini 文件
找到:extension_dir = "./" 将其改为; extension_dir = "D:\ServerRoot\PHP\ext"
extension_dir是存放扩展库(模块)的目录,也就是PHP用来寻找动态扩展模块的目录。
(4) 找到:Windows Extensions
在 Windows Extensions 下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
(5) 可不修改
找到:disable_functions =
该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。
改为:disable_functions = phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
(6) 把register_globals = Off 修改成register_globals = On。
开启FastCGI的配置只需要在php.ini里面加入下面的语句:
cgi.force_redirect = 0 cgi.fix_pathinfo= 1 fastcgi.impersonate = 1 upload_tmp_dir="C:\WINDOWS\Temp" 更改临时目录 session.save_path="C:\WINDOWS\Temp" 更改临时目录 error_log="C:\WINDOWS\temp\php-errors.log" 更改临时目录
2. 给php安装目录修改权限,添加IIS_WPG用户组,并添加用户权限为读取。
3. 再安装FastCGI,一路下一步即可。
4. 安装完成后到C:\Windows\system32\inetsrv目录找到fcgiext.ini文件,添加下列语句:
[Types] php=PHP [PHP] ExePath=C:\php\php-cgi.exe 此为您的php程序安装目录
5. 打开IIS管理器,在网站属性中主目录选项卡中,选择“配置”选项,添加ISAPI扩展。添加拓展名为.php的ISAPI扩展,可执行文件为C:\WINDOWS\system32\inetsrv\fcgiext.dll。如图:
6. 在IIS管理器里面,点击web服务扩展,看FastCGI Handler是不是允许,使之允许。
7. 重启IIS,新建一个index.php 文件代码如下:
<?php phpinfo(); ?>
再添加一个新网站,里面包含刚刚新建的php文档,浏览器打开之后看看是否有php的相关信息即可知道是否已经完成php+FastCGI的配置了。