将Symfony2应用程序部署到Azure Web主机上

时间:2015-10-15 13:25:54

标签: php symfony azure

我的目标是,上传我的项目,基本上是一个控制器返回一个枝条模板就像那样简单,我只是想弄清楚如何在托管上得到它。

我已经使用symfony几个月了,所以还是新手。所有托管/细节的东西都是新的。

让我失望的是我对托管网站/文件夹的理解 和它的wwwroot /

如何天蓝色

我使用过这个网站

http://symfony.com/doc/current/cookbook/deployment/azure-website.html

但我发现很难遵循它..

有没有人有更好的网站,如何部署更明确的步骤?我已经阅读了很多关于public_html文件夹的内容,但我之前从未听过/使用它

如果有人能解释www.domain.com/web/app.php如何工作会有所帮助,我知道,那就是被调用的文件,但不太确定我是否需要说这个文件“ app.php“或者如果它有点像标准网站寻找'index.php'的方式

任何帮助或指示都会在这里受到高度赞赏,因为我有点失落

2 个答案:

答案 0 :(得分:6)

通常,我们可以在本地构建项目并进行测试,然后通过Git或FTP工具在Azure Web Apps上进行部署。

以下是我的测试步骤:

  1. 在本地构建Symfony项目,引用Using the Symfony full-stack framework
  2. 登录Azure预览门户,点击 => 网络+移动 => 市场,在网络应用部分中点击网络应用+ MySQL ,然后点击创建
  3. 完成创建Web应用程序服务后,我们可以在设置 => 应用程序设置 => 连接字符串中找到MySQL连接字符串显示连接字符串enter image description here
  4. 然后在部署部分中单击设置持续部署。选择本地Git存储库作为源。然后在 Essentials 部分中,我们可以找到添加了一个Git URL。复制它。 enter image description here
  5. 在本地symfony项目中,确保您的Symfony存储库在其根目录中有一个.gitignore文件,其中至少包含以下内容: /app/bootstrap.php.cache /app/cache/* /app/config/parameters.yml /app/logs/* !app/cache/.gitkeep !app/logs/.gitkeep /app/SymfonyRequirements.php /build/ /vendor/ /bin/ /composer.phar /web/app_dev.php /web/bundles/ /web/config.php
  6. 运行以下命令以初始化git repo并首次推送到Azure: ` git init git add。 git commit -m" initial commit" git remote add azure [远程存储库的URL] git push azure master

  7. 在您的Azure网站的Kudu控制台上登录https://<your-website-name>.scm.azurewebsites.net/DebugConsole,运行以下命令: cd site\wwwroot curl -sS https://getcomposer.org/installer | php php composer.phar install enter image description here 现在在浏览器中访问http://<your-website-name>.azurewebsites.net/web/app.php,我们应该看到该项目。

  8. 现在我们需要配置URL重写以删除网址的/web/app.php模式。将名为web.config的文件添加到Azure上根目录({1}}中的部署到Microsoft Azure Website Cloud中显示的内容。单击Azure门户上的重新启动,现在我们可以访问/site/wwwroot
  9. 上的站点

    顺便说一句,要在Azure Web Apps上部署PHP-MySQL应用程序,我们可以在Create a PHP-MySQL web app in Azure App Service and deploy using Git获取更多信息。特别是for symphony project,symfony指南仍然有用,我们可以忽略启用PHP国际扩展的部分。

答案 1 :(得分:1)

如果您无法将“wwwroot”目录的名称更改为“web”,则必须将symfony的配置更改为使用“wwwroot”。

看看这个page

我认为最简单的解决方案是带符号链接的解决方案:

  

某些共享主机具有public_html Web目录根目录。将Web目录从Web重命名为public_html是使Symfony项目在共享主机上运行的一种方法。另一种方法是将您的应用程序部署到Web根目录之外的目录,删除您的public_html目录,然后将其替换为项目中Web的符号链接。