3

我目前正在开发一个涉及公共部分和管理部分的 Laravel 5.1 项目。在搜索我遇到的问题时,我遇到了这个堆栈帖子管理用户角色登录。第一篇文章推荐的地方。

管理员和用户在同一个 laravel 应用程序中是一个坏主意,因为该应用程序将共享相同的会话和存储信息。将会有无数的 egde 案例会导致信息通过您设置的任何逻辑“墙”流失,并且您最终会花费太多时间来修补这些流失。你真正想做的是为每个应用程序设置单独的 laravel 应用程序:admin.project.com 和 project.com。这样您就可以获得两个单独的会话和存储空间。您需要做的就是确保在两个 database.php 配置文件中都设置了您需要的数据库。您甚至可以将两个项目托管在具有单独部署的同一台服务器上,监听不同的端口。相信我,这是最好的方法。

有人可以详细解释它是如何完成的吗?我的意思是我应该如何设置我的项目。我知道他们很容易共享同一个数据库并且设置起来很容易。第一个问题,如何将 URL admin.mysite.com 作为我的管理部分,将 www.mysite.com 作为我的 2 个应用程序的公共部分另外如何在 Azure 中将其设置为 Web 应用程序?我得到了我目前在 Azure 上工作的一个应用程序(互联网上没有 5.1 指南,它以某种方式部署)。

那么有人可以详细解释项目设置应该如何以及应该如何完成吗?找不到 Laravel 5.1 的指南,因为 5.1 的设置与 5 和 4 不同。* 我不确定如何继续。

4

1 回答 1

1

根据您的描述,您似乎需要部署 2 个具有自定义域的应用程序。如果是这样,我认为将您的管理员和用户应用程序分别部署在 2 个 Azure Web 应用程序服务上。这有利于应用程序每一端的管理、部署和扩展。要将子域配置到您的站点,您可以参考Azure 网站和通配符域将自定义子域映射到 Azure Web 应用程序(网站)

如果您坚持在单个 Azure Web Apps Service 上部署 2 个应用程序,您可以尝试在 IIS Web.config 中重写 URL,例如

      <rule name="RewriteRequestsAdmin" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
              <add input="{HTTP_HOST}" pattern="^admin\.XXXX\.com$"/>
          </conditions>
          <action type="Rewrite" url="AdminApp/public/index.php/{R:0}" />
        </rule>
        <rule name="RewriteRequestsUser" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
          </conditions>
          <action type="Rewrite" url="UserApp/public/index.php/{R:0}" />
        </rule>
      </rules>

要将本地 laravel 项目部署到 Azure Web Apps,可以使用 Git 或 FTP 工具,请参阅在 Azure 应用服务中创建 PHP-MySQL Web 应用并使用 Git 部署。但是默认情况下,依赖文件夹vendor和composer文件不会随项目一起部署在Azure上,所以我们必须登录你的Azure Web Apps的KUDU控制台站点来安装依赖。https://<your_site_name>.scm.azurewebsites.net/SiteExtensions/#gallery 您可以在您的 KUDU 控制台站点的站点扩展选项卡中安装 composer,然后应该composer install在您的应用程序根目录中运行该 URL。

此外,您可以在您的 KUDU 控制台站点上简单地利用 cmdlet,该 URL 应该是https://<your-website-name>.scm.azurewebsites.net/DebugConsole,运行以下命令:

cd site\wwwroot 
curl -sS https://getcomposer.org/installer | php 
php composer.phar install

在 Azure 上部署 laravel,可以参考laravel 5.1 on windows azure web application的回答,了解更多。

于 2015-11-02T06:18:53.540 回答