部署到Microsoft Azure网站云ob直播app
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
部署到Microsoft Azure网站云ob直播app
本文介绍如何将小型Symfony web应用程序部署到Microsoft Azure Website云平台。ob娱乐下载ob直播app它将解释如何设置一个新的Azure网站,包括配置正确的PHP版本和全局环境变量。该文档还展示了如何利用Git和Composer将Symfony应用程序部署到云中。ob娱乐下载ob直播app
设置Azure网站
首先,要建立一个新的Microsoft Azure网站使用Azure注册或者用你的证件签到。一旦你连接到你的Azure门户界面,向下滚动到底部并选择新面板。在此面板中,单击网站并选择自定义创建:
步骤1:创建网站
在这里,将提示您填写一些基本信息。
对于URL,输入希望用于Symfony应用程序的URL,然后选择ob娱乐下载创建新的网络主机计划在你想要的区域。缺省情况下,免费20 MB SQL数据库在数据库下拉列表中选择。在本教程中,Symfony应用程序将连接到一ob娱乐下载个MySQL数据库。选择创建一个新的MySQL数据库选项。你可以保留DefaultConnection字符串的名字。最后,勾选方框从源代码控制发布启用Git存储库,然后转到下一步。
步骤2:新建MySQL数据库
在这一步中,系统将提示您使用数据库名称和区域设置MySQL数据库存储。MySQL数据库存储由微软和ClearDB合作提供。选择在上一步中为主机计划配置选择的相同区域。
同意条款和条件,并点击右边的箭头继续。
步骤3:源代码在哪里
现在,在第三步,选择a本地Git存储库项,然后单击右箭头配置Azure网站凭据。
第四步:新用户名和密码
太棒了!你现在到了最后一步。创建用户名和安全密码:这些将成为连接到FTP服务器和将应用程序代码推送到Git存储库的基本标识符。
恭喜你!您的Azure网站现在已启动并运行。您可以通过浏览您在第一步中配置的Website url来检查它。你应该在浏览器中看到如下显示:
Microsoft Azure门户还为Azure网站提供了一个完整的控制面板。
Azure网站已经准备好了!但是要运行Symfony站ob娱乐下载点,您只需要配置一些额外的东西。
为Symfony配置Azure网站ob娱乐下载
本教程的这一部分详细介绍了如何配置正确的PHP版本以运行Symfony。ob娱乐下载它还向您展示了如何启用一些强制的PHP扩展,以及如何为生产环境正确配置PHP。
配置最新的PHP运行时
尽管Symfony只需要ob娱乐下载运行PHP 5.5.9,但总是建议尽可能使用最新的PHP版本。PHP核心团队不再支持早期版本,但您可以在Azure中轻松更新它。
要在Azure上更新PHP版本,请转到配置单击控制面板上的选项卡,选择需要的版本。
单击保存按钮,以保存您的更改并重新启动web服务器。
请注意
选择最新的PHP版本可以极大地提高运行时性能。PHP 5.5附带了一个新的内置PHP加速器OPCache,它取代了APC。在Azure网站上,OPCache已经启用,不需要安装和设置APC。
下面的屏幕截图显示了一个phpinfo脚本从Azure网站运行,以验证PHP 5.5在启用OPCache的情况下运行。
调整php.ini配置设置
Microsoft Azure允许您重写php . ini
通过创建一个自定义全局配置设置.user.ini
项目根目录(网站/ wwwroot
).
1 2 3 4
;.user.iniexpose_php=从memory_limit=256米upload_max_filesize=10米
这些设置都没有需要被覆盖。默认的PHP配置已经非常好了,因此这只是一个示例,展示如何通过上传自定义来轻松调整PHP内部设置. ini
文件。
目录下的Azure网站FTP服务器上手动创建此文件网站/ wwwroot
目录或使用Git部署它。的Azure网站控制面板中获取FTP服务器凭据指示板选项卡在右侧侧栏。如果您想使用Git,只需将您的.user.ini
在您的本地存储库的根文件,并将提交推到您的Azure网站存储库。
请注意
从Git部署是专门解释如何配置Azure网站Git存储库,以及如何推送要部署的提交。您还可以在官方网站上了解有关配置PHP内部设置的更多信息PHP MSDN文欧宝官网下载app档页面。
启用PHP intl扩展
这是指南中棘手的部分!在撰写本文时,Microsoft Azure网站提供了intl
扩展,但默认不启用。要启用intl
扩展时,不需要上传任何DLL文件作为php_intl.dll
文件在Azure上已经存在。事实上,这个文件只需要移动到自定义网站扩展目录。
请注意
微软Azure团队目前正致力于启用intl
默认为PHP扩展。在不久的将来,将不再需要以下步骤。
为了得到php_intl.dll
在你的网站/ wwwroot
目录,只需在线访问捻角羚工具,浏览至以下网址:
1
https:// [your-website-name] .scm.azurewebsites.net
捻角羚是一组用于管理应用程序的工具。它带有文件资源管理器、命令行提示符、日志流和配置设置汇总页面。当然,此部分只能在登录Azure网站主帐户时才能访问。
从Kudu首页,点击调试控制台导航项在主菜单中选择CMD.这将打开调试控制台页面,下面显示文件资源管理器和控制台提示符。
在控制台提示符中,键入以下三个命令来复制原始文件php_intl.dll
扩展文件到自定义网站ext /
目录中。这个新目录必须在主目录下创建网站/ wwwroot
.
1 2 3
$cd站点\wwwroot $ mkdir ext $ copy"D:\Program Files (x86)\PHP\v5.5\ext\php_intl.dll"ext
整个过程和输出应该是这样的:
完成的激活php_intl.dll
扩展,你必须告诉Azure网站从新创建的加载它ext
目录中。这可以通过注册一个全局变量来实现PHP_EXTENSIONS
环境变量来自配置选项卡的主要Azure网站控制面板。
在应用程序设置节,注册PHP_EXTENSIONS
环境变量的值ext \ php_intl.dll
如下图截图所示:
点击“保存”确认更改并重新启动web服务器。PHPIntl
扩展现在应该在您的web服务器环境中可用。下面是一个phpinfo页验证intl
扩展已正确启用:
太棒了!PHP环境设置现在已经完成。接下来,您将学习如何配置Git存储库并将代码推送到生产环境。您还将了解如何在部署Symfony应用程序后安装和配置它。ob娱乐下载
从Git部署
首先,在您的终端上使用以下命令确保Git正确安装在您的本地机器上:
1
$ git——版本
请注意
把你的Git从git-scm.com网站,并按照说明在本地机器上安装和配置它。
在Azure网站控制面板中,浏览部署选项卡来获取Git存储库的URL,你应该把你的代码放在那里:
现在,您需要将本地Symfony应用程序与Azure网站上的远程Git存储库连ob娱乐下载接起来。如果尚未使用Giob娱乐下载t存储Symfony应用程序,则必须首先在Symfony应用程序目录中使用git init
命令并向其承诺git提交
命令。
另外,确保您的Symfony存储库具有ob娱乐下载.gitignore
在其根目录下至少包含以下内容的文件:
12 3 4 5 6 7 8 9 10 11 12 13 14
/var/bootstrap.php。缓存/var/ Cache /* /app/config/parameters。Yml /var/logs/* !gitkeep ! / var /日志。gitkeep /var/ob娱乐下载 symfonyrequirements .php /build/ /vendor/ /bin/ /composer. phpPhar /web/app_dev.php /web/bundles/ /web/config.php
的.gitignore
file要求Git不要跟踪任何与这些模式匹配的文件和目录。这意味着这些文件不会部署到Azure网站。
现在,在本地机器的命令行中,在Symfony项目的根目录下输入以下命令:ob娱乐下载
1 2
$ git远程添加azure https://@.scm.azurewebsites.net:443/.git $ git推送azure master
不要忘记替换所包含的值<
而且>
中显示的自定义设置部署选项卡的Azure网站面板。的git远程
命令连接Azure网站远程Git存储库,并使用名称为其分配别名azure
.第二个git推
命令将所有提交推到远程主
遥控器的分支azure
Git存储库。
使用Git的部署应该产生类似于下面截图的输出:
Symfony应用程序的代码现在ob娱乐下载已经部署到Azure网站,您可以从Kudu应用程序的文件资源管理器中浏览。你应该看到app /
,src /
而且web /
你的网站/ wwwroot
Azure Website文件系统上的目录。
配置Symfony应用程序ob娱乐下载
PHP已经配置好,代码已经用Git推送。最后一步是配置应用程序并安装它所需的第三方依赖项,Git不会跟踪这些依赖项。切换回在线模式控制台在Kudu应用中执行如下命令:
1 2 3
$cdsite\wwwroot $ curl -sS https://getcomposer.org/installer | php $ php -d extension=php_intl.dll编写器。phar安装
的旋度
命令检索并下载Composer命令行工具,并将其安装在网站/ wwwroot
目录中。然后,运行Composer安装
命令下载并安装所有必要的第三方库。
这可能需要一段时间,具体取决于您在配置中的第三方依赖项的数量composer.json
文件。
请注意
的- d
开关允许您快速覆盖/添加任何php . ini
设置。在这个命令中,我们强制PHP使用intl
扩展,因为它没有在Azure网站默认启用的时刻。很快,这- d
选项将不再需要,因为微软将启用intl
默认为扩展名。
在最后作曲家安装
命令时,系统将提示您填写一些Symfony设置的值,如数据库凭据、区域设置、邮件凭据、CSRF令牌保护等。ob娱乐下载这些参数来自应用程序/配置/ parameters.yml.dist
文件。
本文中最重要的内容是正确设置数据库设置。的右侧侧栏上可以获取MySQL数据库设置Azure网站仪表板面板。只需按一下查看连接字符串链接,使它们出现在弹出窗口中。
显示的MySQL数据库设置应该类似于下面的代码。当然,每个值都取决于您已经配置的内容。
1
数据库=mysymfoob娱乐下载nyMySQL;数据源=eu-cdbr- az- north-c.cloudappob直播app.net;用户Id=bff2481a5b6074
切换回控制台,回答提示的问题并提供以下答案。不要忘记使用MySQL连接字符串中的实际值调整下面的值。
1 2 3 4 5 6 7
database_driver: pdo_mysql database_host: u-cdbr- az-northc.cloob直播appudapp.net database_port: null database_name: mysymob娱乐下载fonyMySQL database_user: bff2481a5b6074 database_password: bdf50b42 //…
别忘了回答所有的问题。属性设置唯一的随机字符串非常重要秘密
变量。对于邮件发送器配置,Azure Website不提供内置邮件发送器服务。如果您的应用程序需要发送电子邮件,您应该考虑配置一些其他第三方邮件服务的主机名和凭据。
您的Symob娱乐下载fony应用程序现在已经配置好了,应该可以运行了。最后一步是构建数据库模式。如果您使用Doctrine,这可以通过命令行界面轻松完成。在网上控制台执行以下命令将表挂载到MySQL数据库中。
1
$ PHP bin/console doctrine:schema:update——force
这个命令为MySQL数据库构建表和索引。如果您的Symfob娱乐下载ony应用程序比基本的Symfony标准版更复杂,您可能需要执行额外的命令来进行设置(请参阅如何部署Symfony应用程序ob娱乐下载).
控件,以确保应用程序正在运行app.php
使用你的网页浏览器和以下网址:
1
http:// < your-website-name > .azurewebsites.net/web/app.php
如果正ob娱乐下载确安装了Symfony,您应该会看到Symfony应用程序的首页显示。
配置Web服务器
至此,Symfony应用程序已经部署完ob娱乐下载毕,并且可以在Azure网站上完美地工作。然而,网络
文件夹仍然是URL的一部分,这是您绝对不想要的。不过别担心!您可以轻松地将web服务器配置为指向网络
文件夹并删除网络
在URL中(并保证没有人可以访问网络
目录中。)
为此,创建并部署以下内容(请参阅关于Git的前一节). config
文件。该文件必须位于项目的根目录中composer.json
文件。此文件是微软IIS服务器中众所周知的等效文件. htaccess
文件从Apache。对于Symfob娱乐下载ony应用程序,使用以下内容配置它:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<!——网络。配置- - ><?xml version="1.0" encoding="UTF-8"?><配置><system.webServer><重写><规则><清晰的/><规则的名字=“BlockAccessToPublic”patternSyntax=“通配符”stopProcessing=“真正的”><匹配url=“*”/><条件logicalGrouping=“MatchAll”trackAllCaptures=“假”><添加输入=“{URL}”模式=“/ web / *”/>条件><行动类型=“CustomResponse”statusCode=“403”statusReason=“禁止:拒绝访问。”statusDescription=“您没有使用您提供的凭证查看此目录或页面的权限。”/>规则><规则的名字=“RewriteAssetsToPublic”stopProcessing=“真正的”><匹配url=“^ (. *)(\ . css . js | | \ \ jpg | \ . png | \ gif) $”/><条件logicalGrouping=“MatchAll”trackAllCaptures=“假”>条件><行动类型=“改写”url=“web / {R: 0}”/>规则><规则的名字=“RewriteRequestsToPublic”stopProcessing=“真正的”><匹配url=“^(. *)$”/><条件logicalGrouping=“MatchAll”trackAllCaptures=“假”>条件><行动类型=“改写”url=“网络/ app.php / {R: 0}”/>规则>规则>重写>system.webServer>配置>
如你所见,这是最新规定RewriteRequestsToPublic
负责重写到web / app.php
前端控制器,它可以让你跳过web /
URL中的文件夹。第一条规则叫做BlockAccessToPublic
属性的所有URL模式匹配web /
文件夹,并提供403年被禁止的
而是HTTP响应。这个例子是基于Benjamin Eberlei的样本,你可以在GitHub上找到ob娱乐下载SymfonyAzureEdition包。
的目录下部署此文件网站/ wwwroot
目录的Azure网站和浏览到您的应用程序没有web / app.php
段。
结论
不错的工作!现在,您已经将Symfony应用程序部署到Microb娱乐下载osoft Azure Website Cloud平台。ob直播app您还看到,可以在Microsoft ob娱乐下载IIS web服务器上轻松地配置和执行Symfony。该过程简单易行。此外,微软还在继续减少所需步骤的数量,使部署变得更加容易。