Laravel에서 로컬로 여러 사이트를 구축하는 방법

藏色散人
풀어 주다: 2020-11-30 14:35:22
앞으로
4582명이 탐색했습니다.

다음 튜토리얼 칼럼인 Laravel Framework에서는 Laravel을 사용하여 로컬에서 다중 사이트를 구축하는 방법을 소개합니다. 필요한 친구들에게 도움이 되길 바랍니다!

Laravel에서 로컬로 여러 사이트를 구축하는 방법

머리말

요즘 아이디어가 너무 많아서 이것저것 하고 싶은데 아주 불편한 문제가 생겼습니다.

  1. 다 정리하지 못했습니다. 코드에는 저장 경로나 솔루션이 없습니다.
  2. 이러한 코드에 대한 통일된 관리 계획은 없습니다.

그래서 저에게 지금 가장 중요한 것은 코드를 정리하는 것입니다. 먼저 로컬화된 관리 도구 세트를 개발합니다.

이 도구는 현재 Laravel용으로 개발될 예정입니다. 여러 터미널에서 해당 API를 사용할 수 있도록 프런트엔드와 백엔드 분리 전략을 채택합니다.

그리고 저는 라라벨을 여러 개 더 오픈하는 것을 특별히 좋아하지 않아서 라라벨 프레임워크에 여러 도메인 이름을 포함시키는 것이 주요 문제 중 하나가 되었습니다.

오늘은 꼼꼼히 기록하겠습니다. 현지화에서는 Laravel을 사용하여 여러 도메인 이름을 설정합니다. 실제로는 시스템이 유사합니다.

현재 두 개의 도메인 이름으로 나누기로 결정되었습니다.

하나는 API 인터페이스입니다. 도메인 이름은

api.hellolux.com

로 결정했습니다. 다른 하나는 백엔드 관리 도메인 이름으로 구현 대상:

admin.hellolux.com

컨트롤러에 새 폴더를 추가합니다. layer

appHttpControllers 디렉터리에 Api와 Admin이라는 두 개의 새 폴더를 추가합니다.

RouteServiceProvider.php 파일을 수정합니다

appProvidersRouteServiceProvider.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');
    });
}
로그인 후 복사

Add

'api_domain' => env('API_DOMAIN', 'api.hellolux.com'),
'admin_domain' => env('ADMIN_DOMAIN', 'admin.hellolux.com'),
로그인 후 복사

를 수정하고 config/app.php에서

API_DOMAIN=api.hellolux.com
ADMIN_DOMAIN=admin.hellolux.com
로그인 후 복사
추가

in .env에

# api.php
use Illuminate\Http\Request;

Route::get('/', "IndexController@index");



# admin.php
use Illuminate\Http\Request;

Route::get('/', "IndexController@index");
로그인 후 복사

를 추가합니다. 경로 디렉터리에 api.php 및 admin.php 파일 두 개를 추가합니다.

# Local_Manage
127.0.0.1   api.hellolux.com
127.0.0.1   admin.hellolux.com
로그인 후 복사

/etc/hosts에 도메인 이름을 추가합니다.

Include /private/etc/apache2/extra/httpd-vhosts.conf
로그인 후 복사

/etc/apache2/http.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>
로그인 후 복사

/etc/apache2/extra/httpd-vhosts.conf에서 브라우저에

sudo apachevtl restart
로그인 후 복사

Restart apache

rrreee

Complete

를 추가하고 admin.hellolux.com 및 api.hellolux.com을 열면 특정 페이지가 각각 표시됩니다. .

위 내용은 Laravel에서 로컬로 여러 사이트를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!