LEMP (Linux, Nginx, MySQL, Php7) wdrażanie obrazu dokera

LEMP (Linux, Nginx, MySQL, Php7) wdrażanie obrazu dokera

O

Zautomatyzowany doker kompilacji LEMP obraz LinuxConfig/LEMP-Php7 może być używane jako testowanie, a także jako środowisko produkcyjne dla dynamicznych aplikacji PHP. Zawiera Debian GNU/Linux, lekki i jeszcze potężny Nginx Web.

W chwili pisania tego tekstu Debian Linux nie ma PHP 7 w ramach swojego standardowego repozytorium. Z tego powodu PHP 7 został skompilowany z kodu źródłowego podczas kompilacji obrazu Docker kompila-php-debian skrypt znajdujący się w https: // github.com/linuxconfig/compile-php-debian.

Ponadto nie wszystkie moduły PHP trzeciej strony są obecnie obsługiwane na PHP 7.

Zastosowanie

W poniższej sekcji opisano rozmieszczenie LinuxConfig/LEMP-Php7 Docker na twoim hoście Docker. Zacznij od utworzenia przykładowej strony internetowej PHP z uchwytem połączenia MySQL. Alternatywnie dodaj phpinfo (); do miksu, aby wyświetlić aktualną stronę informacji PHP:

 

Zapisz powyższy kod w indeks.php Plik i w nowym html informator. Alternatywnie,html Katalog może zawierać pożądaną aplikację PHP:

$ mkdir html $ vi html/indeks.php $ ls html/ indeks.php 

Na tym etapie jesteśmy gotowi do wdrożenia LinuxConfig/LEMP-Php7 Obraz Docker:

# Docker Run --Name = Lemp -dp -v $ pwd/html:/var/www/html linuxconfig/lemp -php7 8306AB0E404E5E5CE4F17731F88A610F7F8BC939289C0746B8757716355DF0B1A 

Wykonując powyższe polecenie, które utworzyliśmy i założyliśmy nowy kontener Docker LEMP. Jednocześnie zamontowaliśmy również nasz katalog rozwoju strony internetowej html Jako katalog główny Nginx. Zarówno porty MySQL i Nginx są teraz związane z losowym portem systemu hosta.

Oba porty lokalne mogą być teraz używane do dostępu zarówno do usług MySQL, jak i Nginx:

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

Dostęp Nginx

Na tym etapie Nginx Webserver i nasza strona internetowa można uzyskać za pośrednictwem portów podanych przez $ sudo Docker Port Lemp Komenda. Użyj wiersza poleceń lub przeglądarki, aby przejść do http: // localhost: 32773 URL:

# curl -i http: // localhost: 32773 http/1.1 200 OK Server: Nginx/1.6.2 Data: Sun, 01 stycznia 2017 22:51:58 GMT Content-Type: Text/Html; Charset = UTF-8 Przenoszenie przenoszenia: Połączenie fragmentowe: Keep-Alive X-Moneted-by: PHP/7.1.0 Sukces: Dokonano odpowiedniego połączenia z MySQL! Informacje o hoście: 127.0.0.1 przez TCP/IP 

MySQL Access

Dostęp do bazy danych MySQL można uzyskać za pośrednictwem Admin Użytkownik i domyślne hasło przechodzić. Jak wcześniej, najpierw musimy uzyskać numer portu systemu hosta połączonego z bazą danych MySQL w obrazie dokera $ sudo Docker Port Lemp Komenda. Następnie możemy połączyć się z bazą danych:

$ mysql -uadmin -pass -h 127.0.0.1 -p32772 Witamy w MySQL Monitor. Polecenia kończą się; lub \ g. Twój identyfikator połączenia MySQL to 15 wersja serwerowa: 5.5.53-0+Deb8u1 (Debian) Copyright (c) 2000, 2016, Oracle i/lub jej podmioty stowarzyszone. Wszelkie prawa zastrzeżone. Oracle jest zarejestrowanym znakiem towarowym Oracle Corporation i/lub jej podmiotów stowarzyszonych. Inne nazwy mogą być znakami towarowymi ich właścicieli. Typ „Pomoc”; lub „\ h”, aby uzyskać pomoc. Typ „\ c”, aby wyczyścić bieżącą instrukcję wejściową. mysql> 

PHP 7

Jak już wspomniano powyżej, php 7 został skompilowany z krwawienia gałęzi php 7. Cała instalacja została wykonana w /usr/local/php-wersja/ informator. Z tego powodu dostępu do wiersza poleceń php binarny albo uruchamiasz go pełną ścieżką:

# Docker Exec -it LEMP/USR/Local/Php -7.1.0/bin/php -v php 7.1.0 (CLI) (Zbudowany: 1 stycznia 2017 21:33:40) (NTS) Copyright (C) 1997-2016 Grupa PHP Zend Engine V3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies z Zend Opcache V7.1.0, Copyright (c) 1999-2016, autorstwa Zend Technologies 

lub obejmować /USR/Local/Php-7.1.0/bin/ jako część twojego ŚCIEŻKA Zmienna środowiskowa.

Dodatkowe informacje

Uzyskaj listę włączonych modułów PHP 7

# Docker Exec -it LEMP/USR/Local/Php -7.1.0/bin/php -m [moduły php] bcmath bz2 rdzeń kalendarza ctype curl data DBA DOM EXIF ​​FILTINFO Filter Ftp gd getText Hash iconv Intl json libxml mbstring McRypt MySqli Mysqlnd openssl pcNtl pdo pdo_mysql pdo_sqlite infrections session session sessipel Sockets Spl Sqlite3 standard Sysvmsg Sysvsem Sysvshm Tokenizer WDDX XML XMLREADER XMLWRITER ZEND OPCACHE ZIP ZLIB [Moduły Zend] Zend opcache 

Dostęp do kontenera

Podczas gdy twój LEMP Uruchamia się kontener, który można uzyskać do dostępu:

$ sudo docker exec -it lemp/bin/bash root@8306AB0E404E:/# 

Zresetuj hasło użytkownika mysql

Poniższe polecenie ustawi nowe hasło 123dlaAdmin Użytkownik:

# mysql mysql> Ustaw hasło dla „admin”@'%' = hasło ('123'); 

Uruchom stos stosu lemp

$ sudo Docker Exec Execor Service Servior Repartart 

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Ubuntu 20.04: WordPress z instalacją Nginx
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Jak zainstalować stos LEMP na Almalinux
  • Zainstaluj MySQL na Ubuntu 20.04 LTS Linux
  • Zagnieżdżone pętle w skryptach Bash
  • Jak zainstalować MySQL na Almalinux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Lista najlepszych narzędzi Kali Linux do testowania penetracji i…