Server Core上部署IIS7全程攻略下


  

在 Server Core 下安装 IIS7 有两种方法,一个是使用"ocsetup"命令,而另外一个也就是网上轻易能查找到的"pkgmgr"方式,两者的区别我会在以后与大家详细探讨,而此次则以"pkgmgr"命令进行安装支持 CGI 的 IIS7。首先我们可以使用"oclist"命令来列出当前的角色功能安装状态。内容如下所示:

  Use the listed update names with Ocsetup.exe to install/uninstall a server role or optional feature.

  Adding or removing the Active Directory role with OCSetup.exe is not supported. It can leave your server in an unstable state. Always use DCPromo to install or uninstall Active Directory.

  ======================================

  Microsoft-Windows-ServerCore-Package

  Not Installed:BitLocker

  Not Installed:BitLocker-RemoteAdminTool

  Not Installed:IIS-WebServerRole

  |

  |--- Not Installed:IIS-FTPPublishingService

  | |

  | |--- Not Installed:IIS-FTPServer

  | |

  |

  |

  |--- Not Installed:IIS-WebServer

  在了解了系统角色和功能的安装状态之后,就可以根据需要来进行 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

  

  在完成了 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 的配置……等等,还是放到以后再与大家分享

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3