Laravel在本地搭建多站点
2020-01-15 10:28
1536 查看
前言
最近的想法挺多的,又想做这个又想做那个.但是碰到一个很难受的问题就是:
- 没有整理好历来所有的代码,没有一个存储的路径或方案.
- 没有对这些代码进行统一的管理方案.
所以对我来说,眼下最要紧的事,就是先整理好代码,然后开发出一套属于自己的本地化管理工具.
这个工具目前暂定为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.com ADMIN_DOMAIN=admin.hellolux.com
在routes目录下,新增api.php和admin.php两个文件
# api.php use Illuminate\Http\Request; Route::get('/', "IndexController@index"); # admin.php use Illuminate\Http\Request; Route::get('/', "IndexController@index");
在/etc/hosts中增加域名
# Local_Manage 127.0.0.1 api.hellolux.com 127.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>
重启apache
sudo apachevtl restart
完成
浏览器打开admin.hellolux.com和api.hellolux.com分别会显示具体的页面了.
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- windows快速搭建本地apache+php+mysql开发环境,多站点域名访问
- vhost本地多站点环境搭建
- windows快速搭建本地apache+php+mysql开发环境,多站点域名访问
- IIS搭建本地站点(可以用localhost:xx进行访问)
- 图文:Apache实战 搭建Web站点(Windows本地上传Web程序至Linux服务器)
- nodejs服务搭建教程 nodejs访问本地站点文件
- 利用Apache的VirtualHost在本地搭建多个站点
- phpstudy本地搭建多站点(每个站点对应不同的端口)
- 本地xdebug调试搭建 Laravel+homestead+phpstorm
- 本地如何使用phpstudy环境搭建多站点
- windows快速搭建本地apache php mysql开发环境,多站点域名访问
- 简单Node.js搭建本地站点
- 简单搭建nodeJS服务,访问本地站点文件
- 简单搭建nodeJS服务,访问本地站点文件,nodejs改变代码不需要重启的方法
- Dreamweaver8.0本地站点的搭建与管理
- 如何使用phpstudy本地搭建多站点(每个站点对应不同的端口)
- 利用Apache的VirtualHost在本地搭建多个站点
- 利用Apache的VirtualHost在本地搭建多个站点
- Dreamweaver8.0本地站点的搭建与管理
- 搭建nodejs服务,访问本地站点文件