登录  /  注册
首页 > php框架 > Laravel > 正文

Laravel如何在本地搭建多站点

藏色散人
发布: 2020-11-30 14:35:00
转载
4394人浏览过

下面由laravel框架教程栏目给大家介绍laravel在本地搭建多站点,希望对需要的朋友有所帮助!

Laravel如何在本地搭建多站点

前言

最近的想法挺多的,又想做这个又想做那个.但是碰到一个很难受的问题就是:

  1. 没有整理好历来所有的代码,没有一个存储的路径或方案.
  2. 没有对这些代码进行统一的管理方案.

所以对我来说,眼下最要紧的事,就是先整理好代码,然后开发出一套属于自己的本地化管理工具.

这个工具目前暂定为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分别会显示具体的页面了.

以上就是Laravel如何在本地搭建多站点的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:csdn网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号