【IT168 评论】Windows取代Linux承载PHP应用程序的几大原因如下:
1. .NET和PHP Web应用程序的统一Web服务器
企业客户由于一些原因, 经常希望统一他们的Web平台。他们可能在收购后就对自身的Web平台进行统一,或者他们可能会减缓他们的Web向ASP.NET/IIS上迁移,并且可 能会继续对现有的LAMP投资进行支持。他们可能会为同时需要PHP和ASP.NET支持的客户提供承载服务,也可能他们会尝试使用.NET开发一个 Web服务或组件,并且必须与他们的PHP前台后台进行交互。不管因为什么原因,这些客户都需要同时承载.NET 和 PHP应用程序/服务,并且更希望在一个单一的Web服务器平台上运行。
与Linux不同,Windows Server对.NET和CGI应用程序的支持,与PHP一样好。这两种类型的应用程序运行在IIS中时,你将看到他们的高稳定性,这些都得益于健康监 视、自动回收过程和Worker Process Activation Service (WAS)为所有IIS承载的应用程序提供的失败保护。我们还将看到这两种类型的应用程序在IIS上运行的高安全性,这得益于应用程序池把在IIS上并行 运行的程序进行了隔离。同时,我们也将看到这两种类型的应用程序在IIS上运行的高性能,这得益于IIS提供的高级的动态缓存和动态压缩功能。最后,在 Windows Server 2008中,IIS7有一个组件结构,和一个将 .NET完整整合到过程的HTTP管道。这就意味着,客户可以允许将现有的.NET服务(比如ASP.NET 成员身份)或者他们自己的内置在.NET中的对IIS的自定义扩展,应用在IIS上承载的这两种类型的应用程序。
2. 将Web和其他服务器管理的工作量统一到一个独立的管理平台
很 多企业客户,统一的管理规范,就是他们IT部门一直以来所追求的目标。这些客户,可能由于很多的原因,把Windows Server应用于一些其他的服务器工作中:比如他们有用大型的活动目录部署,他们的企业网络可能是基于Windows的,或者他们可能更愿意使用 Terminal Server远程访问危险的系统。不管他们今天是否已经使用Windows Server进行管理,向上面的列表中添加基于PHP的Web结构,可以仅为IT后台管理更加合理化而服务。
此外,与Linux不 同,Windows Server还提供了比如Windows PowerShell, Server Manager 和 Windows Virtualization功能,这些功能可以更简单和有效的管理包括Web在内的所有工作。另外,这些用户可以看到基于Windows管理解决方案的 更长远的好处,比如Microsoft Operations Manager 和 Forefront。过去,将他们的服务器统一成Windows并不可行,因为Windows并没有为他们的PHP应用程序提供稳定的可靠的承载容器。现 在,Windows Server安装了FastCGI for IIS后,使拥有基于PHP的Web客户统一其IT平台的梦想成为了现实。
3. 使用相同的操作系统开发和部署Web应用程序
PHP 与Linux联合得很好,但是75%PHP开发是在Windows上进行的。通常情况下,PHP开发人员是对PHP非常狂热,但对Linux比较中立。许 多开发人员将应用程序部署到Linux上,仅仅是因为Linux平台是唯一能支持他们的应用程序的。现在,Windows Server可以提供给这些开发人员一个与他们更喜欢用的开发环境相同的承载环境。此外,Windows Server 2008和Windows Vista IIS7都已经安装了组件,所以开发人员可以在他们的客户端机器上获得同样的全部功能的Web服务器,并且可以在将他们的应用程序部署到其宿主之前进行项 目的测试。最后,托管商现在可以通过更便宜的Windows Web Server 2008 SKU,为这些PHP开发人员提供能够负担得起的专门的承载宿主。
4.Windows中更好的Web平台管理
客 户可以选择使用PHP去开发他们的Web应用程序,但是这并不意味着Apache/Linux是承载和管理这些应用程序的非常好的选择。Windows Server 2008和IIS提供了更有助于管理所有的Web应用程序的功能,并且不管应用程序使用的是什么样的开发技术。
首先,和 Apache不同,IIS7拥有一整套快速配置承载PHP应用程序的Web服务器的管理工具接口。IIS7还提供了丰富的可扩展的 GUI 管理工具,用于直观的展示所有Web服务器的设置。IIS7 配置以XML的形式存储在.config文件中,并且使用了易于解释和操作的clear-text。所有的IIS7的配置文件都可以在命令行中使用单独的 程序AppCMD.exe进行读取和设置。所有的IIS配置文件都可以通过IIS7的WMI Provider或者.NET 管理 API,Microsoft.Web.Administration,使用VBScript 和 .NET进行编写代码。此外,一些开源的狂热者更喜欢在shell界面中进行编码,并且Windows PowerShell为自动化这些代码提供了终极的Shell环境。
其次,与Apache不同,使用IIS7,使用给PHP站点的所有者的 安全的委托管理任务,管理员可以减轻他们的管理工作量。这些站点的所有者可以通过HTTPS协议远程连接到 IIS7服务器,并且在Windows XP或者Vista中,使用与管理员管理本地IIS7同样的GUI工具,来管理他们的站点。与Apache类似的是,这些开发人员可以通过安全的FTPS 将他们的PHP应用程序发布到服务器中,并且通过贮存在应用程序目录中的Web.config文件为IIS重新进行配置。但是与Apache不同的是,管 理员可以通过在共享的UNC文件中存储的Web服务器和Web应用程序配置信息,集中配置现有的Web场(Web farm)去承载PHP应用程序。IIS7提供了一个远程超级管理员/开发人员合作模型,用来部署和管理Web应用程序。
第三,不同于 Apache,使用IIS7,管理员拥有强大的诊断能力,可以更快速的对PHP应用程序进行故障排除。IIS7的运行状态与控制 API暴露了所有的运行信息,比如执行了哪些HTTP请求,他们停在了执行过程中的哪个步骤,所有的信息全部都是实时的。IIS7提供了错误细节,它列出 了(仅对本地服务器)所有的产生错误的信息和可能的解决方案。
第四,Apache不再是Web服务器的唯一标准组件。IIS7拥有全部超过 45个标准组件,这些允许管理员使他们的Web结构更加合理,以使其拥有更好的性能,并且只需要安装他们需要的IIS组件,以使其安全。另外,, Windows Server 2008中的Server Core安装选项支持IIS7, FastCGI 和 PHP。这个功能允许管理员在最小的,无外设的服务器上承载他们的PHP应用程序。Linux不再对Windows拥有这个优势。
5. Windows Server提供了更强大和更有效的媒体服务
随 着Rich Internet Applications的产生,商务希望通过在Web站点中整合更多的媒体,来改善他们的Web应用程序的用户体验。这个趋势,对于使用 Microsoft Web技术的客户,和使用类似PHP的开源Web技术的客户来说,都是有意义的。这些客户需要一个友好的PHP媒体解决方案,这个方案要拥有强大的功能与 合理的开销。使用Windows Media Services 2008, IIS7 and Silverlight,Windows Server不需要增加任何额外投入,就可以提供这个解决方案。
Microsoft的流式媒体服务,Windows Media Services 2008,是为Windows Server 2008提供的一个免费下载。直播和点播媒体流,目前在商业界还没有比Windows Media Services更好的解决方案,并且这个版本比之前的Windows Media Services 9的性能要提升2倍。Windows Media Services同时也提供强大的功能,比如内置的缓存/代理 插件程序,可以使配置企业级edge网络和互联网拓扑更加容易,并且,能够显著降低流媒体的缓冲时间的WMS的Advanced Fast Start 技术,能够使播放内容或者切换资源时,提供一个类似电视的观看体验。而且在Windows Media Services 2008上同样性能或者功能的流式媒体解决方案,在Linux上是收费的。
由于从Web服务器上的媒体的先进下载技术,IIS7现在通过 IIS7 Media Pack将自己与Apache区别开来。这个适用于IIS7的免费下载版本,包含了一个比特率调节模型,它可以帮助我们显著的降低分发视频文件时所占用的 带宽,这个技术会在分发媒体文件的时候,自动将配置好的下载速度调整到媒体分发时候的比特率。IIS7现在还提供了支持超过4GB文件的缓存,来改善高清 文件的分发性能。
最后,PHP开发人员也可以使用Silverlight,Microsoft的一个也可以与PHP紧密结合的跨平台的浏览器插件,构建他们自己的丰富的客户端组件,去完善视频媒体。
6. Microsoft支持的解决方案
企业和中型的商务企业都需要一个软件提供商的高级支持,小的商务企业可能不需要。很多小型的商务企业之所以选择开源的PHP,是因为PHP是免费的,并且可 以快速的开发。随着他们的业务不断发展,这些PHP应用程序将会突然达到临界状态。Microsoft为Windows Server, IIS以及IIS6 和 IIS7中的FastCGI提供了全方位的支持。客户可以依赖Microsoft对Microsoft FastCGI扩展提供的及时的帮助与服务,这些在开源界是不常见的。另外,Microsoft与它的企业合作伙伴也紧密合作,Zend,在企业级PHP 工具、服务和支持领域的领军企业,确保客户在Windows上承载PHP应用程序的所有条件都已经具备。