关于如何在一个项目中设置多个laravel 5.1应用程序的教程


Tutorial on how to setup multiple laravel 5.1 apps in one project

我目前正在进行一个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不同。*我不知道如何继续。

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

如果你坚持在一个Azure Web应用程序服务上部署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应用程序,您可以使用Git或FTP工具,请参阅在Azure应用程序服务中创建PHP MySQL Web应用程序并使用Git进行部署。但默认情况下,依赖文件夹vendor和composer文件不会与项目一起部署在Azure上,因此我们必须登录您的Azure Web应用程序的KUDU控制台站点才能安装依赖。您可以在KUDU控制台站点的站点扩展选项卡中安装composer,URL应为https://<your_site_name>.scm.azurewebsites.net/SiteExtensions/#gallery,然后在应用程序根目录中运行命令composer install

此外,您可以简单地利用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,您可以参考windows Azure web应用程序上laravel 5.1的答案以了解更多信息。