如何使用Azure云服务和SQL Database部署PHP应用


如何使用Azure云服务和SQLDatabase部署PHP应用

 

综述:

 

本文介绍如何将一个PHP语言实现的Web应用在Azure平台部署为云服务。该应用程序在后台选择SQLDatabase作为数据库层。本文介绍部署这样一个系统前期要考虑和设计的问题,同时给出部署中每一步骤的截图和讲解。读者可以根据本文中的步骤在Azure中实际部署一个可运行的PHP+SQLDatabase的应用程序。

 

什么是WindowsAzure云服务

 

当我们在Windows中建立一个应用程序,我们把这个应用程序的执行代码和配置环境统称为云服务(CloudService)。在一个云服务中,我们往往要指定多个角色(role)来协同工作,这样既可以把不同类型的任务分配给相应的处理单元,也可以更好的实现系统的可扩展性。WindowsAzure定义了两种角色– Web RoleWorker Role。简单的说, Web Role就是带有IIS(Internet Information Service) 的服务器,通常作为前端服务器来接收并处理用户请求。Worker Role是不带IIS的服务器,用于处理一些后台任务。WebRoleWorkerRole之间可以通过Azure服务总线(service bus) 来通讯,也可以通过其它方式。要得到可用性为99.95%的微软服务等级协议,每一个角色至少要部署两个实例,互为备份。下图是一个经典的云服务应用架构:如何使用Azure云服务和SQL Database部署PHP应用_第1张图片


Windows Azure SQL Database概述

 

SQL DatabaseWindows Azure平台的一个PaaS(Platform as a Service) 服务。它为用户提供类似SQL Server的数据管理服务,但对用户来说的用户体验不同于SQLServer。使用SQLDatabase,用户不必关心SQLServer的安装配置,包括未来的维护升级和扩容。只需通过WindowsAzure管理界面创建一个SQLDatabase即可使用。Azure平台会对数据库系统的维护和扩展进行自动处理。

 

应用程序部署

 

建立数据库

 

首先我们通过Windows Azure管理平台建立一个SQL Database实例。

  1. 登录Windows Azure管理平台,选择SQL数据库,点击“快速创建”。

如何使用Azure云服务和SQL Database部署PHP应用_第2张图片

  1. 数据库创建成功后,进入这个数据库的仪表盘,选择屏幕右边的显示连接字符串。这里显示了使用各种语言连接该数据库的连接字符串,我们将PHP的连接字符串拷贝出来,将来在PHP程序中使用。

如何使用Azure云服务和SQL Database部署PHP应用_第3张图片

 

使用WindowsPowerShell创建云服务项目

  1. 使用管理员身份打开Windows PowerShell,执行New-AzureServiceProject<ProjectName>

  2. 创建两个Web Role.

  3. 为这个云服务指定属性.

如何使用Azure云服务和SQL Database部署PHP应用_第4张图片

编辑PHP文件

 数据库连接

下面是在PHP中连接SQL Database的示例代码,其中的连接字符串来自SQLDatabase仪表盘上的连接字符串。

如何使用Azure云服务和SQL Database部署PHP应用_第5张图片


  1. 使用到的其他P如何使用Windows Azure云服务和SQL Database部署PHP应用HP外界库

    在上面的程序中,我们用到了PHP连接SQLServer的外界库(php_mssql.dll)。我们需要在本地的项目中webrolebin目录下,创建php/ext目录,并把DLL链接库拷贝到该目录下。在本例中的目录如下:

     

    同时,我们需要在php目录下创建php.ini文件,并在文件中添加如下内容:

    extension = php_mssql.dll.

     

    如何使用Azure云服务和SQL Database部署PHP应用_第6张图片

    最后,我们只要调用PowserShell命令: Publish-AzureServiceProject即可把应用程序发布到Azure平台上。

总结

 

当我们在移植应用程序之前,需要考虑该程序适合什么样的Azure技术。对一个大部分Web应用来说,移植到Azure都有三种选择:虚机,网站和云服务。我们首先要在这三种方案中做出选择。如果该应用必须使用Linux操作系统,那我们只能选择虚机。否则,我们可以在网站和云服务之间做出选择。网站是最方便的,但它也带给用户很多限制,例如不能访问后台的服务器,不能修改IIS服务器的配置等。通常来说,我们建议客户在条件具备的情况下选择云服务。云服务包含一套完整的应用程序管理,并且提供了“预演系统”和“生产环境”两套系统,非常符合具有一定规模的应用程序开发流程。下面的决策树可以帮助我们做出选择:

如何使用Azure云服务和SQL Database部署PHP应用_第7张图片

另外,当应用系统部署成功以后,我们应该持续的对系统架构进行调优。在这个阶段,我们建议客户做如下的工作:

如何使用Azure云服务和SQL Database部署PHP应用_第8张图片

你可能感兴趣的:(如何使用Azure云服务和SQL Database部署PHP应用)