Einführung in die Entwicklungsumgebung zum Ausführen von Laravel mit Laradock. Da ich durch Versuch und Irrtum selbst lerne, kann es einige Fehler geben, aber ich würde es begrüßen, wenn Sie in diesem Fall darauf hinweisen könnten.
Wir werden eine Entwicklungsumgebung erstellen, um Laravel mit Laradock auszuführen.
Die offizielle Website bietet eine wunderbare Umgebung für die Ausführung von Laravel (PHP) -Projekten auf Docker. https://laradock.io/
Mit Laradock können Sie problemlos einen Webserver oder eine Datenbank in Docker erstellen.
・ Sie können problemlos zwischen PHP-Versionen wechseln (7.3 / 7.2 / 7.1 / 5.6) ・ Sie können Ihre bevorzugte Datenbank-Engine auswählen (MySQL / Postgres / MariaDB ...) ・ Die Kombination von Originalsoftware wie Memcached, HHVM, Beanstalkd ist möglich -Alle Software wie PHP-FPM, NGINX, PHP-CLI läuft auf separaten Containern -Alle Docker-Images werden aus offiziell basierten Images erstellt Sie können Laradock für jedes Projekt oder ein einzelnes Laradock für alle Projekte verwenden.
Öffnen Sie zunächst ein Terminal und ordnen Sie den Pfad dem Speicherort zu, an dem Sie das Verzeichnis erstellen möchten. Sie können den Speicherort Ihres aktuellen Dateipfads mit pwd ermitteln.
//Es wird der Speicherort des aktuellen Verzeichnisses mit einem absoluten Pfad angezeigt.
$ pwd
//Erstellen Sie ein neues Verzeichnis.
$mkdir Verzeichnisname
//Wechseln Sie in das mit dem Befehl cd erstellte Verzeichnis.
$cd Verzeichnisname erstellt
//Überprüfen Sie den absoluten Pfad des erstellten Verzeichnisses
$ pwd
Installieren Sie nach dem Erstellen des Verzeichnisses laradock dort.
Führen Sie den folgenden Befehl aus.
//Dabei kopiere ich die Laradock-Datei von GitHub mit einem Mechanismus namens git
$ git clone https://github.com/Laradock/laradock.git -b v9.6
Sie sollten ein paar Zeilen mit der Aufschrift "Klonen in" Laradock "sehen ...
Wenn Sie fertig sind, überprüfen Sie, ob das Verzeichnis mit dem Namen ls command erstellt wurde.
$ ls
laradock
Erstellen Sie als Nächstes eine .env-Datei, eine der Dateien, die sich auf die Laradock-Einstellungen beziehen. laradock bereitet eine env-Beispieldatei als Vorlage für die .env-Datei vor, daher werde ich sie basierend darauf erstellen.
Bitte geben Sie Folgendes ein:
$ cd laradock
$ cp env-example .env
cp ist ein Befehl zum Kopieren von Dateien.
cp Name der Quelldatei kopieren Geben Sie den Namen der zu kopierenden Zieldatei ein.
Sie haben jetzt eine .env-Datei basierend auf der env-Beispieldatei erstellt.
Bearbeiten Sie anschließend die .env-Datei mit einem Editor usw.
.
└── Erstelltes Verzeichnis
└── laradock
└── .env
Suchen Sie nach dem Öffnen der .env-Datei die folgenden Teile und ändern Sie sie wie beschrieben.
//Vorher ändern
APP_CODE_PATH_HOST=../
DATA_PATH_HOST=~/.laradock/data
COMPOSE_PROJECT_NAME=laradock
//Nach der veränderung
//Ein Verzeichnis, das auf dem Webserver von Laradock synchronisiert werden soll. Laradock selbst muss nicht separat auf dem Docker sein, daher wird nur das Laravel-Projektverzeichnis synchronisiert. Der Name des Verzeichnisses, in dem Laravel gemountet ist.
APP_CODE_PATH_HOST=../laravel
//Ein Verzeichnis auf dem lokalen PC, in dem Docker-Speicher usw. gespeichert sind. Standardmäßig werden die Datenbank usw. im Ausgangsverzeichnis gespeichert. Ändern Sie es im Projektverzeichnis
DATA_PATH_HOST=../data
//Wenn Sie für jedes Projekt eine neue Laradock-Umgebung erstellen möchten, ändern Sie den Verzeichnisnamen in den von Ihnen erstellten.
COMPOSE_PROJECT_NAME=Verzeichnisname erstellt
Verwenden Sie dann Docker, um die Entwicklungsumgebung zu starten.
Die Einheit jedes auf Docker ausgeführten Dienstes wird als Container bezeichnet.
Starten Sie hier die folgenden vier Container.
・ Arbeitsbereich ・ Php-fpm ・ Nginx ・ Postgres
php-Was ist fpm
PHP FastCGI(Der bei der ersten Anforderung gestartete Prozess bleibt im Speicher erhalten, und der in diesem Speicher gespeicherte Prozess wird für die nächste Anforderung ausgeführt.
Es hat die folgenden Funktionen.
Lose(graceful)Halt/Erweitertes Prozessmanagement einschließlich Startfunktion
Andere UID/gid/chroot/Starten eines Workers in einer Umgebung, Abhören eines anderen Ports, anderer PHP.Verwendung von ini(safe_Alternative zum Modus)
Protokollausgabe zur Standardausgabe und Standardfehlerausgabe
Neustart im Notfall, wenn der Opcode-Cache beschädigt ist
Unterstützung für schnelle Uploads
"slowlog" -Aufzeichnen eines Skripts mit einer sehr langen Ausführungszeit(Es zeichnet den PHP-Backtrace sowie den Skriptnamen auf. Führen Sie den Remote-Prozess mit ptrace oder einem gleichwertigen Mechanismus aus, um die Rückverfolgung abzurufen_Daten lesen)
fastcgi_finish_request() -Etwas zeitaufwändiger Prozess(Videokonvertierung, statistische Informationsverarbeitung usw.)Eine spezielle Funktion, um die Anforderung zu beenden und alle Daten auszugeben, während Sie fortfahren
dynamisch/Aufrufen eines statischen untergeordneten Prozesses
Grundlegender SAPI-Betriebsstatus(Apache mod_Entspricht dem Status)
php.INI-basierte Konfigurationsdatei
Was ist CGI?
PHP auf dem Webserver(Sprachen, die dynamischen Inhalt erzeugen)Es ist ein Mechanismus zu bedienen.
CGI erzeugt und zerstört Prozesse, wenn ein Benutzer sie anfordert. Bei einer großen Anzahl von Anforderungen werden Prozesse entsprechend erstellt und zerstört, was zu einer schlechten Leistung führt.
Was ist FastCGI?
Der bei der ersten Anforderung gestartete Prozess bleibt im Speicher erhalten, und der in diesem Speicher gespeicherte Prozess wird für die nächste Anforderung ausgeführt. Es löst CGI-Probleme, beschleunigt Programme und reduziert die Serverlast.
Der zu startende Container enthält Postgres, ein Datenbanksystem namens PostgreSQL.
Dieses Mal wird PostgreSQL Version 11.6 verwenden.
Ändern Sie daher die erste Zeile der Docker-Datei im Verzeichnis laradock / postgres wie folgt.
laradock/postgres/Dockerfile.
1 FROM postgres:11.6
Wenn Sie mit der Bearbeitung fertig sind, gehen Sie im Terminal zu "Erstelltes Verzeichnis / Laradock-Verzeichnis".
$ cd ~/Verzeichnis erstellt/laradock
Geben Sie dann den folgenden Befehl ein.
$ docker-compose up -d workspace php-fpm nginx postgres
Die Bedeutung des Befehls ist wie folgt.
Docker-Compose ist ein Befehl zur Verwendung einer Funktion namens Docker Compose, die mehrere Container gleichzeitig verarbeitet. up ist der Befehl, mit dem der Container mit Docker Compose gestartet wird -d ist eine Option, um nach dem Starten des Containers zum Terminalbetrieb zurückzukehren
Wenn ich den Befehl ausführe, erhalte ich viele Nachrichten.
Beim ersten Mal wird die Software selbst (Docker-Image) jedes Containers heruntergeladen, sodass das Starten des Containers einige Minuten dauert.
Wenn am Ende die folgende Meldung angezeigt wird, wurde der Container erfolgreich gestartet.
Erstellen Erstelltes Verzeichnis_docker-in-docker_1 ... done
Erstellen Erstelltes Verzeichnis_workspace_1 ... done
Erstellen Erstelltes Verzeichnis_php-fpm_1 ... done
Erstellen Erstelltes Verzeichnis_nginx_1 ... done
Erstellen Erstelltes Verzeichnis_porstgres_1 ... done
Wenn Sie diese 5 Meldungen nicht sehen, versuchen Sie erneut, Docker-Compose -d Workspace PHP-Fpm Nginx Postgres.
Starten Sie nach dem Start des Containers Ihren Browser und geben Sie localhost in die Adressleiste ein.
Wenn Sie 404 Not Found erhalten, ist dies in Ordnung.
Wenn Sie den Container stoppen möchten, geben Sie den folgenden Befehl ein.
$ docker-compose stop
Wenn Sie den Container neu starten möchten, geben Sie den folgenden Befehl ein.
docker-compose up -d workspace php-fpm nginx postgres
Geben Sie den folgenden Befehl in das erstellte Verzeichnis / laradock-Verzeichnis ein.
$ docker-compose exec workspace composer create-project --prefer-dist laravel/laravel . "6.8.*"
Um Befehle auszuführen, die mit Docker-Compose beginnen, müssen Sie in das erstellte Verzeichnis / Laradock-Verzeichnis wechseln und es dann ausführen.
Die Installation dauert einige Minuten. Wenn die Nachricht angezeigt wird, sollten viele Dateien unter dem erstellten Verzeichnis / laravel-Verzeichnis erstellt werden.
Wenn Sie eine Weile warten, wird die Installation nicht gestartet.
[InvalidArgumentException]
Could not find package laravel/laravel with version 6.8.*.
Wenn die Meldung angezeigt wird, ändern Sie den Teil des Befehls "6.8. *" In "6. *. *" Und installieren Sie ihn.
Greifen Sie nach der Installation von Laravel mit Ihrem Browser auf localhost zu. Es ist in Ordnung, wenn der folgende Bildschirm angezeigt wird.
Standardmäßig ist Laravels Zeiteinstellung UTC (Agreement World Time), 9 Stunden später als in Japan.
Ändern Sie dies in Japan Zeit.
Ändern Sie die Zeitzone des / erstellten Verzeichnisses / laravel / config / app.php wie folgt in "Asien / Tokio".
.
└── Erstelltes Verzeichnis
└── laravel
└── config
└── app.php
laravel/config/app.php.
//Abkürzung
/*
|--------------------------------------------------------------------------
| 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', //--Ändern Sie diese Zeile
//Abkürzung
Damit ist die Installation von Laravel abgeschlossen.
Recommended Posts