如何使用 Azure 云服务和 SQLDatabase 部署 PHP 应用 综述 : 本文介绍如何将一个 PHP 语言实现的 Web 应用在 Azure 平台部署为云服务。该应用程序在后台选择 SQLDatabase 作为数据库层。本文介绍部署这样一个系统前期要考虑和设计的问题,同时给出部署中每一
如何使用Azure云服务和SQLDatabase部署PHP应用
综述:
本文介绍如何将一个PHP语言实现的Web应用在Azure平台部署为云服务。该应用程序在后台选择SQLDatabase作为数据库层。本文介绍部署这样一个系统前期要考虑和设计的问题,同时给出部署中每一步骤的截图和讲解。读者可以根据本文中的步骤在Azure中实际部署一个可运行的PHP+SQLDatabase的应用程序。
什么是WindowsAzure云服务
当我们在Windows中建立一个应用程序,我们把这个应用程序的执行代码和配置环境统称为云服务(即CloudService)。在一个云服务中,我们往往要指定多个角色(role)来协同工作,这样既可以把不同类型的任务分配给相应的处理单元,也可以更好的实现系统的可扩展性。WindowsAzure定义了两种角色–
Web Role和Worker Role。简单的说, Web Role就是带有IIS(Internet
Information Service) 的服务器,通常作为前端服务器来接收并处理用户请求。Worker Role是不带IIS的服务器,用于处理一些后台任务。WebRole和WorkerRole之间可以通过Azure服务总线(service
bus) 来通讯,也可以通过其它方式。要得到可用性为99.95%的微软服务等级协议,每一个角色至少要部署两个实例,互为备份。下图是一个经典的云服务应用架构:
Windows Azure SQL Database概述
SQL Database是Windows Azure平台的一个PaaS(Platform as a Service) 服务。它为用户提供类似SQL Server的数据管理服务,但对用户来说的用户体验不同于SQLServer。使用SQLDatabase,用户不必关心SQLServer的安装配置,包括未来的维护升级和扩容。只需通过WindowsAzure管理界面创建一个SQLDatabase即可使用。Azure平台会对数据库系统的维护和扩展进行自动处理。
应用程序部署
建立数据库
首先我们通过Windows Azure管理平台建立一个SQL Database实例。
-
登录Windows Azure管理平台,选择SQL数据库,点击“快速创建”。
-
数据库创建成功后,进入这个数据库的“仪表盘”,选择屏幕右边的“显示连接字符串”。这里显示了使用各种语言连接该数据库的连接字符串,我们将PHP的连接字符串拷贝出来,将来在PHP程序中使用。
使用WindowsPowerShell创建云服务项目
-
使用管理员身份打开Windows PowerShell,执行New-AzureServiceProject
-
创建两个Web Role.
-
为这个云服务指定属性.
编辑PHP文件
数据库连接
下面是在PHP中连接SQL Database的示例代码,其中的连接字符串来自SQLDatabase仪表盘上的连接字符串。
-
使用到的其他P如何使用Windows Azure云服务和SQL Database部署PHP应用HP外界库
在上面的程序中,我们用到了PHP连接SQLServer的外界库(php_mssql.dll)。我们需要在本地的项目中webrole的bin目录下,创建php/ext目录,并把DLL链接库拷贝到该目录下。在本例中的目录如下:
同时,我们需要在php目录下创建php.ini文件,并在文件中添加如下内容:
extension = php_mssql.dll.
最后,我们只要调用PowserShell命令: Publish-AzureServiceProject即可把应用程序发布到Azure平台上。
总结
当我们在移植应用程序之前,需要考虑该程序适合什么样的Azure技术。对一个大部分Web应用来说,移植到Azure都有三种选择:虚机,网站和云服务。我们首先要在这三种方案中做出选择。如果该应用必须使用Linux操作系统,那我们只能选择虚机。否则,我们可以在网站和云服务之间做出选择。网站是最方便的,但它也带给用户很多限制,例如不能访问后台的服务器,不能修改IIS服务器的配置等。通常来说,我们建议客户在条件具备的情况下选择云服务。云服务包含一套完整的应用程序管理,并且提供了“预演系统”和“生产环境”两套系统,非常符合具有一定规模的应用程序开发流程。下面的决策树可以帮助我们做出选择:
另外,当应用系统部署成功以后,我们应该持续的对系统架构进行调优。在这个阶段,我们建议客户做如下的工作:

命名管道是一种在操作系统中相对比较低级的进程通信方式,它是一种以文件为中介的进程通信方式。在Go语言中,通过os包提供了对命名管道的支持。在本文中,我们将介绍如何在Go中使用命名管道来实现进程间通信。一、命名管道的概念命名管道是一种特殊的文件,可以被多个进程同时访问。在Linux系统中,命名管道是一种特殊的文件类型,它们存在于文件系统的某个位置上,并且可以在

在Go语言中,使用第三方库是非常方便的。许多优秀的第三方库和框架可以帮助我们快速地开发应用程序,同时也减少了我们自己编写代码的工作量。但是如何正确地使用第三方库,确保其稳定性和可靠性,是我们必须了解的一个问题。本文将从以下几个方面介绍如何使用第三方库,并结合具体例子进行讲解。一、第三方库的获取Go语言中获取第三方库有以下两种方式:1.使用goget命令首先

随着传统的多线程模型在高并发场景下的性能瓶颈,协程成为了PHP编程领域的热门话题。协程是一种轻量级的线程,能够在单线程中实现多任务的并发执行。在PHP的语言生态中,协程得到了广泛的应用,比如Swoole、Workerman等框架就提供了对协程的支持。那么,如何在PHP中使用协程呢?本文将介绍一些基本的使用方法以及常见的注意事项,帮助读者了解协程的运作原理,以

<p>Windows 系统上的 OneDrive 应用程序允许您将文件存储在高达 5 GB 的云上。OneDrive 应用程序中还有另一个功能,它允许用户选择一个选项,是将文件保留在系统空间上还是在线提供,而不占用您的系统存储空间。此功能称为按需文件。在这篇文章中,我们进一步探索了此功能,并解释了有关如何在 Windows 11 电脑上的 OneDrive 中按需使用文件的各种选项。</p><h2>如何使用 On

近年来,WebSocket技术已经成为了Web开发中不可或缺的一部分。WebSocket是一种在单个TCP连接上进行全双工通信的协议,它使得客户端和服务器之间的通信更加流畅和高效。如今,很多现代的Web应用程序都使用了WebSocket技术,例如实时聊天、在线游戏以及实时数据可视化等。Go语言作为一个现代的编程语言,自然也提供了很好的支持WebSock

随着音频处理在各种应用场景中的普及,越来越多的程序员开始使用Go编写音频处理程序。Go语言作为一种现代化的编程语言,具有优秀的并发性和高效率的特点,使用它进行音频处理十分方便。本文将介绍如何在Go中使用音频处理技术,包括读取、写入、处理和分析音频数据等方面的内容。一、读取音频数据在Go中读取音频数据有多种方式。其中比较常用的是使用第三方库进行读取,比如go-

在Go语言中,嵌套结构是一种非常常见的技术。通过将一个结构体嵌入到另一个结构体中,我们可以将复杂的数据模型分解成更小的部分,使其易于理解和维护。本篇文章将介绍如何在Go中使用嵌套结构以及一些最佳实践。一、定义嵌套结构首先,我们需要定义一个包含嵌套结构的结构体。下面的代码演示了如何定义一个包含Person结构体的Company结构体:typePersons

Go语言中的反转依赖是一种非常实用的技术,它可以帮助开发者更好地进行软件开发。在本文中,我们将详细介绍什么是反转依赖,并且演示如何在Go语言中使用它来优化软件。一、什么是反转依赖在传统的软件开发中,模块之间存在着依赖关系。一些模块被其他模块所依赖,而另一些模块则依赖于其他模块。这种依赖关系在软件中非常普遍,但同时也会带来很多问题。一旦一个模块的代码发生了变化


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver Mac version
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor
