Windows
Azure是Microsoft所研发并且提供的公有云平台服务,而这个平台支持多种不同的程序语言、开发技术,换句话说,您不一定必须使用Microsoft的技术(如:.Net、C# 等)才能使用Windows Azure这个云端平台 [1]。这系列文章便会以PHP为程序语言介绍如何在Windows Azure上开发出实际可运作的网站或应用。 这一系列文章包括: PHP 应用程序执行环境 部署PHP应用程序 数据库的选择: MySQL or SQL Database 使用Windows Azure Storage – Blob storage处理静态档案 使用Windows Azure Storage – Table Service处理Session对象 使用Windows Azure Service Bus与其它系统进行通讯 PHP 执行环境 使用 Windows Azure 虚拟机服务 Windows Azure虚拟机 (Virtual Machines) 服务在云端服务的分类之中属于 IaaS (Infrastructure-as-a-Service),它让用户在平台上建立虚拟机,并可选择安装支持的操作系统,Windows Azure 的数据中心技术则会处理好一切虚拟机及网络的问题。 目前 Windows Azure 虚拟机服务所支持的操作系统中,适合执行 PHP 的服务器有各种 Windows Server 以及数种Linux 套件,有了自建的操作系统及环境,要用什么方式执行 PHP 都可以自行决定了。 使用 Windows Azure 网站服务 Windows Azure 网站 (Websites) 服务提供了一个可迅速建立网站的平台,用户不必安装操作系统,也不必处理服务器以及 PHP 执行环境的设定,仅须将网站的档案部署上去便可立即提供网站服务。 Windows Azure 网站服务目前提供 PHP 的执行环境,是以 IIS 服务器搭配 FastCGI 的方式来执行 PHP 的程序,所以在部署PHP的套件时也必须使用对应的版本(说得简单一点,就是 .dll 的版本)。而 PHP 的版本目前支持 5.3、5.4 以及 5.5 的版本,用户可以自行设定 Windows Azure 网站服务要使用哪个版本的 PHP 直译器。 此外,Windows Azure 网站服务也支持多种网站部署的方式,像是传统的 FTP、WebDeploy,或是结合 TFS/git/Mercurial 等版本控制的机制、绑定公用的版控服务如 Visual Studio Online、GitHub 或是 Bitbucket、甚至是可以直接使用 Dropbox 的方式部署,对于网站开发部署的流程提供更灵活的弹性。 使用 Windows Azure 云端服务 Windows Azure 云端服务 (Cloud Services) 就是典型的 PaaS (Platform-as-a-Service) 的云端服务,使用这项服务用户同样不必安装设定操作系统、服务器等软件,直接部署应用程序便可以提供服务。但与网站服务不同的是: Windows Azure 云端服务在应用程序执行环境上区分 Web Role 及 Worker Role,在 Web Role 上的应用程序就如同一般的网页应用程序一般,当网站或服务的用户
透过 Web 要求的方式存取 (例: 使用浏览器浏览) 时才会执行;而 Worker Role 上的应用程序则是可以独立执行,适合用来作为背景工作的程序。 Windows Azure 云端平台的执行环境中并无提供永久性储存
磁盘,也就是开发应用程序的过程中,都不可假设系统有文件系统能够使用,任何档案的操作都必须使用其它的储存机制(如:Windows Azure Storage),这是为了确保执行环境没有「状态」的概念,如此一来,当执行应用程序的虚拟机发生问题时,Windows Azure云端服务能够立即启用新的虚拟机继续提供服务,确保服务的稳定性,同时也可以更容易扩展服务的规模。 Windows Azure云端服务将 staging 及 production 环境分离,在部署新版本的应用程序时,可以先行部署至 staging 环境测试,确认没有问题时,可以再部署至 production 的环境,而部署的过程也不会造成服务的中断。 Windows Azure 云端服务的执行环境是以 Windows Server 及 IIS 服务器为基础,所以在部署 PHP 应用程序时,必须同时部署 PHP 的执行环境(可自行选择 PHP 版本),稍加设定后便能以 FastCGI 的方式来执行 PHP 的应用程序。 如何选择 PHP 执行环境 目前 Windows Azure 提供了三种方式来执行 PHP 应用,而到底哪一个是「
最好」的选择呢?
其实这没有一定的答案,完全要视情况而定。 如果您的PHP应用程序规模已经非常复杂,而没有太多的资源可以进行改写时,Windows Azure虚拟机可能是最快能搬上云端的方式,因为您可以自行建立虚拟机及设定执行环境。
不过若要享受到云端平台的负载平衡 (load-balancing) 或是高可用度 (high availability) 时,可能就要自行设定处理,而负载平衡或高可用度必须建立至少两个以上的虚拟机实体才能进行设定,并非直接部署便可完成。 而对于纯粹网站的应用而没有独立执行的程序,那Windows Azure网站服务也是很不错的选择,它免去了管理及设定操作系统、服务器的麻烦,而且又支持多种部署方式,不论您是用Windows、Linux还是Mac作为开发环境,都可以很轻易地利用这个服务来开发网站服务。另外还提供了永久性储存磁盘,让网站程序也几乎
不用改写便能部署成功 (所以也支持了许多知名的 PHP 套件如:WordPress、Joomla、MediaWiki等)。 那什么样的情况用Windows Azure云端服务比较
合适呢?如果您需要高度稳定以及容易扩展的特性,同时也希望有staging及production环境的区别,那 Windows Azure 云端服务无疑是最佳的选择,不过既然要享受这些特性,程序就必须做一些改写,像是不能使用本地磁盘,或是要将独立执行的程序使用Worker Role的方式处理,最后就是必须使用 Windows Azure SDK所提供的工具来打包部署,这都是需要花费的开发成本。 总结一句:就是必须根据您的需求及现实状况,来挑选合适的服务来运作你的网站应用程序。
PHP执行环境在Windows Azure开发实战简介
时间: 2024-12-25 10:50:19
PHP执行环境在Windows Azure开发实战简介的相关文章
《微软云计算Windows Azure开发与部署权威指南》——6.2 Azure平台AppFabric概述
6.2 Azure平台AppFabric概述 Windows Azure AppFabric是一套全面的云端中间件,服务于开发.部署和管理Windows Azure平台应用.它在Windows Azure开发模型上提供一套Paas(平台即服务)层面的服务,从而提高了开发效率.同时,它可以提供安全的通道来跨越网络和地理位置的界限,将已有的应用程序接入到云端.并且,它维持了Windows Azure和Windows Server上一致的开发模型. Windows Azure AppFabric通过在
《微软云计算Windows Azure开发与部署权威指南》——6.7 AppFabric服务总线REST的服务开发
6.7 AppFabric服务总线REST的服务开发 微软云计算Windows Azure开发与部署权威指南 本节介绍如何建立一个简单的服务总线主应用程序,使该程序公开一个基于REST的访问接口.任一台Web客户端,比如浏览器,都可以使用HTTP请求访问服务总线API.本示例使用的是WCF REST编程模型在服务总线上构建REST服务. 1.步骤一:注册账户 ① 在Windows Azure门户创建一个服务命名空间.可参考本章6.2小节的内容. ② 在Windows Azure Manageme
《微软云计算Windows Azure开发与部署权威指南》——第6章 Windows Azure平台访问控制与总线AppFabric6.1 服务导向架构
第6章 Windows Azure平台访问控制与总线AppFabric 6.1 服务导向架构 微软云计算Windows Azure开发与部署权威指南什么是SOA(Service-Oriented Architecture,服务导向架构)?SOA的理念广为人知,然而其概念解释又有多种版本.本书认为SOA是为了满足组织机构的商业需求而建立的松耦合的体系结构. 需要读者注意的是,SOA注重架构而不是实现,它不是一门技术,而是一门设计哲学,很多人将面向服务的架构和面向服务的实现混淆.SOA并不强调实现的
Windows Azure开发选择MySQL or SQL Database
Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure 目前并没有直接提供 MySQL 的数据库服务,不过却有与 ClearDB 合作提供 MySQL 的数据库服务,或是使用 Windows Azure 虚拟机(Windows Server 或 Linux Server)服务自行建立 MySQL 服务器. 在 PHP 程序中要连接 MySQL 数据库,可以直接使用 mysqli_* (MySQL Improveme
《微软云计算Windows Azure开发与部署权威指南》——6.3 Windows Azure的AppFabric存取控制应用程序设计
6.3 Windows Azure的AppFabric存取控制应用程序设计 在过去的几十年里,企业中对于身份识别问题的解决方案一直在向基于声明靠拢.基于声明的身份模型将应用程序中的身份认证和授权的公共部分抽取出来,集中到外部服务中,这个服务由安全和身份识别方面的专家编写和维护,这样做是非常有益的. 图6-9所示为ACS的一般应用场景. 客户端请求①并由②获得一个SWT令牌,之后客户端使用该SWT来调用服务③,一旦被ACSAuthorizationManager成功验证,④便能访问到所需的服务方法
《微软云计算Windows Azure开发与部署权威指南》——6.6 AppFabric服务总线服务Remoting的应用程序开发
6.6 AppFabric服务总线服务Remoting的应用程序开发 本节将带领大家通过微软发布的Windows Azure Training Kit里的示例学习AppFabric服务总线的服务Remoting的应用程序开发.使用的训练包与6.3节一样,是WATK June2012.exe.示例项目目录为WATK\Labs\ServiceBusServiceRemoting,进行该项目开发所需要的软件环境为(针对Windows 7操作系统). ① IIS 7(开通ASP.NET.WCF HTTP
Windows Azure开发使用Blob storage处理静态档案
Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure Storage 是 Windows Azure 平台上面提供永久性数据储存服务,除了前一篇介绍的 SQL Database 之外,还有用于储存档案(正确地说是 BLOB)的「Blob 储存服务」,还有可以用来储存 Key-Value 资料的「Table 储存服务」,这篇文章将先针对「Blob 储存服务」的使用来做介绍. Windows Azure Blob 储
《微软云计算Windows Azure开发与部署权威指南》——导读
https://yqfile.alicdn.com/3043625418f9de9de0f6111aaef4f0adbb8afaa5.png" > 前言 云计算技术正在快速地发展,业界各大厂商纷纷制定相应的战略,新的概念.观点和产品不断涌现.云计算的技术热点也呈现百花齐放的局面,比如以互联网为平台的虚拟化解决方案的运行平台,基于多租户技术的业务系统在线开发.运行和运营平台,大规模云存储服务,大规模云通信服务等.云计算的出现为信息技术领域带来了新的挑战,也为信息技术产业带来了新的机遇. 微软
《微软云计算Windows Azure开发与部署权威指南》——6.9 AppFabric消息缓冲区:云端上的信息暂存区
6.9 AppFabric消息缓冲区:云端上的信息暂存区 6.9.1 认识消息缓冲区消息缓冲区(Message Buffers)是一些小型.临时的缓存区,用于将消息存放一段时间直到其被在此检索.在Web编程模型场景中,如果Windows Azure服务总线绑定不能使用,那消息缓冲区就会很有用,比如,消息接收和处理控件运行在非Windows平台的计算机上或者该程序不是由Java编写实现的时候.应用程序可以使用HTTP协议访问消息缓冲区,并不一定要安装Windows Azure SDK,所以消息缓冲