Maison  >  Article  >  cadre php  >  Comment créer plusieurs sites localement dans Laravel

Comment créer plusieurs sites localement dans Laravel

藏色散人
藏色散人avant
2020-11-30 14:35:004672parcourir

La colonne tutorielle suivante de Laravel Framework vous présentera comment créer plusieurs sites localement avec Laravel. J'espère qu'elle sera utile aux amis qui en ont besoin !

Comment créer plusieurs sites localement dans Laravel

Avant-propos

J'ai beaucoup réfléchi Dernièrement, je veux faire ceci et cela. Mais j'ai rencontré un problème très inconfortable :

  1. Je n'ai pas organisé tous les codes passés, et il n'y a pas de chemin ni de plan de stockage.
  2. Il n'existe pas de solution de gestion unifiée pour ces codes.

Donc pour moi, le plus important en ce moment est de trier d'abord le code, puis de développer un ensemble de mes propres outils de gestion localisés.

Cet outil est actuellement développé pour Laravel. Il adopte la stratégie de séparation du front et du backend afin que plusieurs terminaux puissent avoir des API correspondantes pour une utilisation future

Ensuite, je ne le fais pas. J'aime particulièrement ouvrir plusieurs Plusieurs Laravel sont en cours de développement, donc inclure plusieurs noms de domaine dans un framework Laravel est devenu l'un des principaux problèmes

Aujourd'hui, je vais l'enregistrer avec soin. en localisation. .En fait, la mise en place d'autres systèmes est presque la même.

Le plan

Actuellement décidé de le diviser en deux noms de domaine.

L'un est le nom de domaine d'interface de l'API, que j'ai décidé d'être : api.hellolux.com

L'un est le nom de domaine de gestion backend, je l'ai défini comme : admin.hellolux. .com

implémentation

Ajoutez un nouveau dossier dans la couche Controller

Dans le répertoire appHttpControllers, ajoutez deux nouveaux dossiers, à savoir Api et Admin.

Modifiez le fichier RouteServiceProvider.php

Dans appProvidersRouteServiceProvider.php, modifiez

# 新增项目名称的命名空间
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');
    });
}

et ajoutez

'api_domain' => env('API_DOMAIN', 'api.hellolux.com'),
'admin_domain' => env('ADMIN_DOMAIN', 'admin.hellolux.com'),

à config/app.php Ajoutez

API_DOMAIN=api.hellolux.com
ADMIN_DOMAIN=admin.hellolux.com
<.> vers .env. Dans le répertoire routes, ajoutez les fichiers api. .php et admin.php

# api.php
use Illuminate\Http\Request;

Route::get(&#39;/&#39;, "IndexController@index");



# admin.php
use Illuminate\Http\Request;

Route::get(&#39;/&#39;, "IndexController@index");

Ajoutez le nom de domaine dans /etc/hosts

# Local_Manage
127.0.0.1   api.hellolux.com
127.0.0.1   admin.hellolux.com

Décommentez les vhosts dans /etc/apache2. /http.conf

Include /private/etc/apache2/extra/httpd-vhosts.conf

Dans /etc/apache2/extra/httpd-vhosts.conf, ajoutez

<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>

Redémarrer Apache

sudo apachevtl restart

Complet

Ouvrir admin.hellolux.com et api dans le navigateur .hellolux.com afficheront respectivement des pages spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer