欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-04-19 19:57:39
...

如何使用 Azure 云服务和 SQLDatabase 部署 PHP 应用 综述 : 本文介绍如何将一个 PHP 语言实现的 Web 应用在 Azure 平台部署为云服务。该应用程序在后台选择 SQLDatabase 作为数据库层。本文介绍部署这样一个系统前期要考虑和设计的问题,同时给出部署中每一


如何使用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应用


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应用

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

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

使用WindowsPowerShell创建云服务项目

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

  2. 创建两个Web Role.

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

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

编辑PHP文件

数据库连接

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

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


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

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

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

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

    extension = php_mssql.dll.

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

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

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

总结

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

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

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

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