Présentation de l'environnement de développement pour exécuter Laravel à l'aide de Laradock. Puisque j'apprends par moi-même par essais et erreurs, il peut y avoir des erreurs, mais je vous serais reconnaissant si vous pouviez signaler ce cas.
Nous allons créer un environnement de développement pour exécuter Laravel en utilisant Laradock.
Le site officiel a un environnement merveilleux pour exécuter des projets Laravel (PHP) sur Docker. https://laradock.io/
En utilisant Laradock, vous pouvez facilement créer un serveur Web ou une base de données sur Docker.
・ Vous pouvez facilement basculer entre les versions de PHP (7.3 / 7.2 / 7.1 / 5.6) ・ Vous pouvez sélectionner votre moteur de base de données préféré (MySQL / Postgres / MariaDB ...) ・ La combinaison de logiciels originaux tels que Memcached, HHVM, Beanstalkd est possible -Tous les logiciels tels que PHP-FPM, NGINX, PHP-CLI fonctionnent sur des conteneurs séparés -Toutes les images Docker sont construites à partir d'images officiellement basées Vous pouvez utiliser Laradock pour chaque projet ou un seul Laradock pour tous les projets.
Tout d'abord, ouvrez un terminal et faites correspondre le chemin à l'emplacement où vous souhaitez créer le répertoire. Vous pouvez trouver l'emplacement de votre chemin de fichier actuel avec pwd.
//Il affichera l'emplacement du répertoire actuel avec un chemin absolu.
$ pwd
//Créez un nouveau répertoire.
$nom du répertoire mkdir
//Accédez au répertoire créé par la commande cd.
$cd Nom du répertoire créé
//Vérifiez le chemin absolu du répertoire créé
$ pwd
Après avoir créé le répertoire, installez laradock là-bas.
Exécutez la commande suivante.
//Je fais que je copie le fichier laradock de GitHub en utilisant un mécanisme appelé git
$ git clone https://github.com/Laradock/laradock.git -b v9.6
Vous devriez voir quelques lignes de message disant Clonage dans'laradock '...
Lorsque vous avez terminé, vérifiez si le répertoire appelé commande ls est créé.
$ ls
laradock
Ensuite, créez un fichier .env, qui est l'un des fichiers liés aux paramètres laradock. laradock prépare un fichier d'exemple d'environnement comme modèle pour le fichier .env, je vais donc le créer sur cette base.
Veuillez saisir les informations suivantes:
$ cd laradock
$ cp env-example .env
cp est une commande pour copier des fichiers.
cp Nom du fichier source de la copie Entrez le nom du fichier de destination de la copie à utiliser.
Vous avez maintenant créé un fichier .env basé sur le fichier d'exemple env.
Ensuite, modifiez le fichier .env à l'aide d'un éditeur, etc.
.
└── Répertoire créé
└── laradock
└── .env
Après avoir ouvert le fichier .env, recherchez chacune des parties suivantes et modifiez-les comme décrit.
//Changer avant
APP_CODE_PATH_HOST=../
DATA_PATH_HOST=~/.laradock/data
COMPOSE_PROJECT_NAME=laradock
//Après le changement
//Un répertoire à synchroniser sur le serveur Web de Laradock. Laradock lui-même n'a pas besoin d'être sur le docker séparément, donc seul le répertoire du projet laravel est synchronisé. Le nom du répertoire dans lequel laravel est monté.
APP_CODE_PATH_HOST=../laravel
//Un répertoire sur le PC local qui stocke le stockage Docker, etc. Par défaut, la base de données, etc. est enregistrée dans le répertoire de base. Changez-le sous le répertoire du projet
DATA_PATH_HOST=../data
//Si vous souhaitez créer un nouvel environnement laradock pour chaque projet, remplacez le nom du répertoire par celui que vous avez créé.
COMPOSE_PROJECT_NAME=Nom du répertoire créé
Ensuite, utilisez Docker pour lancer l'environnement de développement.
L'unité de chaque service exécuté sur Docker est appelée un conteneur.
Ici, démarrez les quatre conteneurs suivants.
・ Espace de travail ・ Php-fpm ・ Nginx ・ Postgres
php-Qu'est-ce que fpm
PHP FastCGI(Le processus démarré au moment de la première requête est conservé dans la mémoire et le processus conservé dans cette mémoire est exécuté pour la requête suivante.
Il a les fonctions suivantes.
Ample(graceful)/
/gid/chroot/.(safe_)
Gestion avancée des processus, y compris les capacités de lancement Démarrage des travailleurs dans différents environnements uiden, écoute sur différents ports, utilisation de différents modes phpini Alternance de la sortie standard et de la sortie du journal vers la sortie d'erreur standard
Redémarrage d'urgence si le cache de l'opcode est corrompu
Prise en charge des téléchargements rapides
"slowlog" -Enregistrer un script avec un temps d'exécution très long(Il enregistre le backtrace PHP ainsi que le nom du script. Pour obtenir le backtrace, exécutez le processus distant à l'aide de ptrace ou d'un mécanisme équivalent_Lire les données)
fastcgi_finish_request() -Quelque chose de processus qui prend du temps(Conversion vidéo, traitement des informations statistiques, etc.)Une fonction spéciale pour terminer la requête et sortir toutes les données tout en continuant
dynamique/Appel d'un processus enfant statique
(Mod Apache_Équivalent au statut)
php.fichier de configuration basé sur ini
Qu'est-ce que CGI
PHP sur le serveur Web(Langues qui génèrent du contenu dynamique)C'est un mécanisme à opérer.
CGI génère et détruit les processus chaque fois qu'un utilisateur les demande. S'il y a un grand nombre de demandes, les processus seront créés et détruits en conséquence, ce qui entraînera de mauvaises performances.
Qu'est-ce que FastCGI
Le processus démarré au moment de la première requête est conservé dans la mémoire et le processus conservé dans cette mémoire est exécuté pour la requête suivante. Il résout les problèmes CGI, accélère les programmes et réduit la charge du serveur.
Il y a des postgres dans le conteneur pour démarrer, qui est un système de base de données appelé PostgreSQL.
Cette fois, PostgreSQL utilisera la version 11.6.
Par conséquent, modifiez la première ligne du Dockerfile dans le répertoire laradock / postgres comme suit.
laradock/postgres/Dockerfile.
1 FROM postgres:11.6
Lorsque vous avez terminé l'édition, allez dans "Répertoire créé / Répertoire laradock" dans le terminal.
$ cd ~/Répertoire créé/laradock
Entrez ensuite la commande suivante.
$ docker-compose up -d workspace php-fpm nginx postgres
La signification de la commande est la suivante.
docker-compose est une commande permettant d'utiliser une fonction appelée Docker Compose qui gère plusieurs conteneurs en même temps. up est la commande utilisée pour démarrer le conteneur avec Docker Compose -d est une option pour revenir au fonctionnement du terminal après le lancement du conteneur
Lorsque j'exécute la commande, je reçois beaucoup de messages.
À la première fois, le logiciel lui-même (image Docker) de chaque conteneur est téléchargé, il faut donc environ plusieurs minutes pour démarrer le conteneur.
Lorsque le message suivant s'affiche à la fin, le conteneur a été démarré avec succès.
Création du répertoire créé_docker-in-docker_1 ... done
Création du répertoire créé_workspace_1 ... done
Création du répertoire créé_php-fpm_1 ... done
Création du répertoire créé_nginx_1 ... done
Création du répertoire créé_porstgres_1 ... done
Si vous ne voyez pas ces 5 messages, essayez à nouveau docker-compose up -d workspace php-fpm nginx postgres.
Une fois le conteneur démarré, lancez votre navigateur et saisissez localhost dans la barre d'adresse.
Si vous obtenez 404 Not Found, c'est OK.
Si vous souhaitez arrêter le conteneur, entrez la commande suivante.
$ docker-compose stop
Si vous souhaitez redémarrer le conteneur, entrez la commande suivante.
docker-compose up -d workspace php-fpm nginx postgres
Entrez la commande suivante dans le répertoire créé / répertoire laradock.
$ docker-compose exec workspace composer create-project --prefer-dist laravel/laravel . "6.8.*"
Pour exécuter des commandes commençant par docker-compose, vous devez vous déplacer vers le répertoire créé / laradock, puis l'exécuter.
L'installation prendra quelques minutes. Lorsque le message s'affiche, de nombreux fichiers doivent être créés dans le répertoire créé / laravel.
Si vous attendez un moment, l'installation ne démarrera pas,
[InvalidArgumentException]
Could not find package laravel/laravel with version 6.8.*.
Si le message s'affiche, remplacez la partie "6.8. *" De la commande par "6. *. *" Et installez.
Après avoir installé Laravel, accédez à localhost avec votre navigateur. C'est OK si l'écran suivant s'affiche.
Par défaut, le réglage de l'heure de Laravel est UTC (Accord World Time), soit 9 heures plus tard que l'heure du Japon.
Changez ceci en heure du Japon.
Modifiez le fuseau horaire du répertoire / created / laravel / config / app.php en "Asie / Tokyo", comme suit.
.
└── Répertoire créé
└── laravel
└── config
└── app.php
laravel/config/app.php.
//Abréviation
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'Asia/Tokyo', //--Changer cette ligne
//Abréviation
Ceci termine l'installation de Laravel.
Recommended Posts