LEMP (Linux, Nginx, MySQL, Php7) Stack Docker Image -Bereitstellung

LEMP (Linux, Nginx, MySQL, Php7) Stack Docker Image -Bereitstellung

Um

Der automatisierte Build Docker Lemp Bild Linuxconfig/LEMP-PHP7 kann als Test und auch als Produktionsumgebung für dynamische PHP -Anwendungen verwendet werden. Es umfasst Debian GNU/Linux, leichte und dennoch leistungsstarke NGINX -Webserver, MySQL Relational Database Management System und PHP -Skriptsprache.

Zum Zeitpunkt des Schreibens wird Debian Linux nicht mit PHP 7 als Teil eines Standard -Repositorys geliefert. Aus diesem Grund wurde Php 7 während des Docker -Bildbaus aus dem Quellcode zusammengestellt Compile-Php-Debian Drehbuch befindet sich bei https: // github.com/linuxconfig/compile-php-debisch.

Darüber hinaus werden derzeit nicht alle PHP-Module von Drittanbietern bei PHP 7 unterstützt.

Einsatz

Der folgende Abschnitt beschreibt den Einsatz von Linuxconfig/LEMP-PHP7 Docker auf Ihrem Docker -Host. Lassen Sie mit dem Erstellen einer Beispiel -PHP -Website mit einem MySQL -Verbindungshandel beginnen. Alternativ hinzufügen phpinfo (); In den Mix, um die aktuelle PHP -Informationsseite anzuzeigen:

 

Speichern Sie den obigen Code in Index.Php Datei und innerhalb eines neuen html Verzeichnis. Alternative,html Das Verzeichnis kann Ihre gewünschte PHP -Anwendung enthalten:

$ mkdir html $ vi html/Index.Php $ ls HTML/ Index.Php 

Zu diesem Zeitpunkt sind wir bereit für den Einsatz Linuxconfig/LEMP-PHP7 Docker -Bild:

# DOCKER RUN --NAME = LEMP -DP -V $ PWD/html:/var/www/html linuxconfig/lemp -Php7 8306AB0E4E5E5CE4F17731F88A610F7F8BC939289C0746B875716355DF09289C0746B875716355DF0B092AW0746B875716355DF0B092AHAFR 

Durch die Ausführung des obigen Befehls haben wir einen neuen Docker -Container erstellt und gestartet Lemp. Gleichzeitig haben wir auch unser Website -Entwicklungsverzeichnis montiert html Als Stammverzeichnis von Nginx. Sowohl MySQL- als auch Nginx -Ports sind jetzt an den zufälligen Port eines Host -Systems gebunden.

Beide lokalen Ports können jetzt verwendet werden, um sowohl auf MySQL- als auch für NGINX -Dienste zuzugreifen:

# Docker Port LEMP 3306/TCP -> 0.0.0.0: 32772 80/TCP -> 0.0.0.0: 32773 

Nginx -Zugriff

In dieser Phase kann auf auf unsere Website auf unsere Website übernt werden über die angegebenen Ports von abgerufen $ sudo docer port lemp Befehl. Verwenden Sie die Befehlszeile oder Ihren Browser, um zu navigieren http: // localhost: 32773 URL:

# curl -i http: // localhost: 32773 http/1.1 200 OK Server: Nginx/1.6.2 Datum: Sun, 01. Januar 2017 22:51:58 GMT-Inhaltstyp: Text/HTML; charset = utf-8 Transfer-Codierung: Chunked Verbindung: Keep-Alive X-Botschaft: PHP/7.1.0 Erfolg: Eine ordnungsgemäße Verbindung zu MySQL wurde hergestellt! Hostinformationen: 127.0.0.1 über TCP/IP 

MySQL Access

Die MySQL -Datenbank kann über zugegriffen werden Administrator Benutzer- und Standardkennwort passieren. Zuerst müssen wir die Host -System -Portnummer erhalten, die mit der MySQL -Datenbank in einem Docker -Image verknüpft ist $ sudo docer port lemp Befehl. Als nächstes können wir eine Verbindung zur Datenbank herstellen:

$ mysql -uadmin -ppass -h 127.0.0.1 -P32772 Willkommen im MySQL Monitor. Befehle enden mit; oder \ g. Ihre MySQL -Verbindungs ​​-ID ist 15 Serverversion: 5.5.53-0+Deb8u1 (Debian) Copyright (C) 2000, 2016, Oracle und/oder seine verbundenen Unternehmen. Alle Rechte vorbehalten. Oracle ist eine eingetragene Marke von Oracle Corporation und/oder seinen verbundenen Unternehmen. Andere Namen können Marken ihrer jeweiligen Eigentümer sein. Geben Sie "Hilfe" ein; " oder '\ h' für Hilfe. Geben Sie '\ c' ein, um die aktuelle Eingabeanweisung zu löschen. MySQL> 

Php 7

Wie bereits oben erwähnt, wurde Php 7 aus einem PHP 7 -Zweig von Blutungen zusammengestellt. Die gesamte Installation wurde an durchgeführt /usr/local/Php-Version/ Verzeichnis. Aus diesem Grund, um auf die Befehlszeile zuzugreifen Php Binärer Sie haben es entweder mit einem vollständigen Weg:

# Docker Exec -it lemp/usr/local/PHP -7.1.0/bin/php -v Php 7.1.0 (CLI) (gebaut: 1. Januar 2017 21:33:40) (NTS) Copyright (C) 1997-2016 Die PHP-Gruppe Zend Engine V3.1.0-dev, Copyright (C) 1998-2016 Zend Technologies mit Zend Opcache V7.1.0, Copyright (C) 1999-2016, von Zend Technologies 

oder einschließen /usr/local/PHP-7.1.0/bin/ als Teil von dir WEG Umweltvariable.

Weitere Informationen

Ermitteln Sie eine Liste aktivierter PHP 7 -Module

# Docker Exec -it lemp/usr/local/PHP -7.1.0/bin/php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dba dom exif fileinfo filter ftp gd gettext hash iconv intl json libxml mbstring mcrypt mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar posix pspell readline Reflection session shmop SimpleXML soap Sockets SPL SQLITE3 SYSVMSG SYSVSEM SYSVSHM TOKENIZER WDDX XML XMLREADER XMLWriter Zend Opcache Zip ZLIB [Zend Module] Zend Opcache 

Containerzugriff

Während dein Lemp Der Container wird ausgeführt. Es kann zugreifen können durch:

$ sudo docer exec -it lemp/bin/bash root@8306ab0e404e:/# 

MySQL -Benutzerkennwort zurücksetzen

Der folgende Befehl setzt ein neues Passwort 123für dieAdministrator Benutzer :

# MySQL MySQL> Kennwort für 'admin'@'%' = password ('123'); 

Starten Sie Lemp Stack neu

$ sudo docer leit lemp service Supervisor neu starten 

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Ubuntu 20.04: WordPress mit Nginx -Installation
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • So installieren Sie LEMP Stack auf Almalinux
  • Installieren Sie MySQL auf Ubuntu 20.04 LTS Linux
  • Verschachtelte Schleifen in Bash -Skripten
  • So installieren Sie MySQL auf Almalinux
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Liste der besten Kali -Linux -Tools für Penetrationstests und…