Windows Server 2008 Core模式部署IIS7+PHP(FASTCGI)+MYSQL全程攻略(4)
在了解了系统角色和功能的安装状态之后,就可以根据需要来进行 IIS7 + CGI 的定制安装。为此,键入"start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-HttpErrors;IIS-ApplicationDevelopment;IIS-CGI;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-Performance;IIS-HttpCompressionStatic;WAS-WindowsActivationService;WAS-ProcessModel",
注意:命令行中间没有换行。有关 pkgmgr 安装 IIS7 的有关参数可以参考:在 Server Core 下执行 IIS7 的完整安装、脚本方式安装 IIS7、IIS7安装场景对照表,这几篇日志。其实经过我个人亲身实践证明,IIS7 的默认安装包含了静态内容的访问支持,而这些功能也正是我们所需要的,那么我个人认为使用"ocsetup"反而更为简便,因为不需要再输入繁琐的命令参数。
在执行"start /w ocsetup IIS-WebServerRole"后,再执行"start /w ocsetup WAS-WindowsActivationService",才算真正的安装上了 IIS7,因为 IIS7 需要 "WAS-WindowsActivationService"支持。至此,还只是完成了一半,因为我们完成了 IIS7 的默认安装,并没有安装上 CGI 支持,为此我们还需要执行"start /w ocsetup IIS-CGI"才是真正的完成安装,当安装了"IIS-CGI"后系统会提示重新启动,根据向导完成即可!
而使用"pkgmgr"则不会出现此步骤,而两者的区别也并非仅仅如此!这里,大家不禁要问到为什么每个执行命令先都要加上"start /w ",这是为了能够识别出该命令是否执行结束,如果不加之,那么在执行命令后会直接回到光标状态,而很难识别该命令的是否执行完毕。(图7)
完成了 IIS7 + CGI 支持的安装后,我们便可以开始安装配置 PHP,首先我们还是需要从PHP 官方站点下载 PHP 的 noinstall 安装包,并将其解压缩到对应的位置,如:"c:php"。之后根据实际需要选择 php.ini-dist 或 php.ini-recommended 作为默认的 php 配置文件,此次选择 php.ini-dist 作为配置文件,为此,执行"copy c:\phpphp.ini-dist c:\phpphp.ini",之后根据自己的实际需要修改 php.ini。
可以参考:FastCGI PHP on Windows Server 2003。完成上述工作之后,我们需要将 PHP 集成到 FastCGI 中,为此执行"appcmd set config -section:system.webserver/fastcgi /+[fullpath='c:\phpphp-cgi.exe']",我们可以使用"appcmd list config -section:system.webserver/fastcgi"来查看验证写入是否正确。"appcmd"是 IIS7 的命令行管理工作,功能很强大,使用非常方便。通过"appcmd"我们完全可以轻易的对 IIS7 进行诸如:备份、修改配置、创建网站……(图8)
在完成了 PHP 与 FastCGI 的集成之后,我们还需要添加扩展来执行解释 PHP 文件,为此键入"appcmd set config -section:system.webserver/handlers /+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptprocessor='c:\phpphp-cgi.exe']",同样在添加之后我们可以使用"appcmd list -section:system.webserver/handlers"来查看验证。这里需要注意是请正确键入命令行中"FastCgiModule"的大小写格式。(图9)
至此,就完成了 PHP FastCGI 的安装。这里不要忘记,将"index.php"添加到默认文档中,为此执行"appcmd set config /section:defaultDocument /+files.[value='index.php']"。下来我们进入"c:\inetpubwwwroot"目录执执行"notepad phpinfo.php",根据提示创建该文件并编辑该文件写入"",好了现在我们可以在另外一台客户端计算机上打开浏览器测试一下成果!以上环节中涉及到的一些命令和参数我会在以后向大家一一介绍,其实细心体会,这些命令行和参数还是非常通俗易懂的!(图10)
大工程都已经完成了,那么接下来就要开始安装 MySQL,MySQL 在 WS08 下的安装过程并没什么特别之处,之所以要拿出来讲讲主要是为了保证该日志的连贯性和完整性。PHP 离开了 MySQL 就显得不完美了!MySQL 我们可以从 http://www.mysql.com 官方网站下载到,同样请选择下载 noinstall 的版本。
MySQL 手工安装非常简单,首先选择一个 适合自己硬件的 MySQL 的配置文件(my-huge.ini;my-innodb-heavy-4G.ini;my-large.ini;my-medium.ini;my-small.ini),将其拷贝到"c:windows"目录下并命名为"my.ini",之后执行"notepad my.ini"进行编辑,在"[mysqld]"段落首行加入"basedir = c:/mysql"和"datadir = c:/mysql/data",保存退出。
之后进入到"c:/mysqlbin"目录,执行"start cmd && mysqld",因为在手工启动 MySQL 服务后,该窗口会暂时被冻结在 MySQL 运行状态,无法执行其他命令,所以在启动 MySQL 前,我现打开一个 CMD 窗口。在新打开的窗体中键入"mysqladmin -u root status && mysqladmin -u root shutdown",用于检查 MySQL 的运行状态,之后再去手工停止 MySQL 服务。
确认没有问题之后执行"mysqld --install && net start mysql",将 MySQL 添加为系统服务,并启动该服务。(图11)
好了,今天到这里就算是结束了,在最后与大家分享一个经验,在部署 Server Core 时,可能服务器处于企业内部环境,为了方便文件的存取和系统的调试,可以使用"netsh firewall set opmode disable"先暂时关闭防火器,之后待工作完毕后再重新启动防火墙,不更加方便!当然这只是个建议,如果安全系数要求比较高,就可以忽略这个经验了!此外,这里还涉及到了一些其他的常规操作,如:创建一个新网站、绑定域名、备份 IIS7 的配置……等等,还是放到以后再与大家分享。
- 最新评论