您好,欢迎访问一九零五行业门户网

Laravel如何在本地搭建多站点

下面由laravel框架教程栏目给大家介绍laravel在本地搭建多站点,希望对需要的朋友有所帮助!
前言最近的想法挺多的,又想做这个又想做那个.但是碰到一个很难受的问题就是:
没有整理好历来所有的代码,没有一个存储的路径或方案.没有对这些代码进行统一的管理方案.所以对我来说,眼下最要紧的事,就是先整理好代码,然后开发出一套属于自己的本地化管理工具.
这个工具目前暂定为laravel进行开发.采用的是前后端分离的策略,以便日后多端可以有相应的api进行使用.
然后我也不是特别喜欢多开好几个laravel进行开发,所以一个laravel框架中,同时包含多域名也是成为一个主要的问题之一.
今天我就好好的记录下,我用laravel在本地化进行多域名的设置.其实架设到其他的系统其实都差不多的.
方案目前决定先分为两个域名.
一个是api的接口域名,我定为: api.hellolux.com
一个是后台管理域名,我定为: admin.hellolux.com
实现在controller层新增文件夹在app\http\controllers目录下,新增两个文件夹,分别为api和admin.
修改routeserviceprovider.php文件在app\providers\routeserviceprovider.php中,修改
# 新增项目名称的命名空间protected $adminnamespace = 'app\http\controllers\admin';protected $apinamespace = 'app\http\controllers\api';public function map(){ # 根据项目名称定义路由 $this->mapapiroutes(); $this->mapadminroutes();}# 新增两个方法protected function mapadminroutes(){ route::group([ 'domain' => config('app.admin_domain'), 'namespace' => $this->adminnamespace, ], function ($router) { require base_path('routes/admin.php'); });}protected function mapapiroutes(){ route::group([ 'domain' => config('app.api_domain'), 'namespace' => $this->apinamespace, ], function ($router) { require base_path('routes/api.php'); });}
在config/app.php新增'api_domain' => env('api_domain', 'api.hellolux.com'),'admin_domain' => env('admin_domain', 'admin.hellolux.com'),
在.env中新增api_domain=api.hellolux.comadmin_domain=admin.hellolux.com
在routes目录下,新增api.php和admin.php两个文件# api.phpuse illuminate\http\request;route::get('/', "indexcontroller@index");# admin.phpuse illuminate\http\request;route::get('/', "indexcontroller@index");
在/etc/hosts中增加域名# local_manage127.0.0.1 api.hellolux.com127.0.0.1 admin.hellolux.com
/etc/apache2/http.conf中取消vhosts注释include /private/etc/apache2/extra/httpd-vhosts.conf
在/etc/apache2/extra/httpd-vhosts.conf中,新增<virtualhost *:80> serveradmin hellolux@163.com documentroot "/users/hellolux/documents/github/local_manage/public" servername hellolux serveralias *.hellolux.com errorlog "/users/hellolux/documents/github/local_manage/logs/error.log" customlog "/users/hellolux/documents/github/local_manage/logs/access.log" common</virtualhost>
重启apachesudo apachevtl restart
完成浏览器打开admin.hellolux.com和api.hellolux.com分别会显示具体的页面了.
以上就是laravel如何在本地搭建多站点的详细内容。
其它类似信息

推荐信息