LEMP (Linux, Nginx, MySQL, PHP7) Despliegue de imagen de pila Docker

LEMP (Linux, Nginx, MySQL, PHP7) Despliegue de imagen de pila Docker

Acerca de

El Docker de compilación automatizado Lemplo imagen LinuxConfig/LEMP-PHP7 se puede utilizar como prueba y también como entorno de producción para aplicaciones PHP dinámicas. Se compone de Debian GNU/Linux, Ligero y poderoso servidor web Nginx, Sistema de Gestión de Base de Datos Relacional de MySQL y lenguaje de secuencias de comandos PHP.

Al momento de escribir este artículo, Debian Linux no viene con PHP 7 como parte de un repositorio estándar. Por esta razón, PHP 7 se compiló del código fuente durante la compilación de la imagen de Docker utilizando compilar-php-debio guión ubicado en https: // github.com/linuxconfig/compile-php-debian.

Además, no todos los módulos PHP de terceros son compatibles actualmente en PHP 7.

Despliegue

La siguiente sección describe la implementación de LinuxConfig/LEMP-PHP7 Docker en su anfitrión de Docker. Deje 'comenzar creando un sitio web de PHP de muestra con un mango de conexión MySQL. Alternativamente agregar phpinfo (); en la mezcla para mostrar la página de información de PHP actual:

 

Guardar el código anterior en índice.php archivo y dentro de un nuevo html directorio. Alternativamente,html El directorio puede contener la aplicación PHP deseada:

$ mkdir html $ vi html/índice.PHP $ LS HTML/ índice.php 

En esta etapa estamos listos para implementar LinuxConfig/LEMP-PHP7 Imagen de Docker:

# Docker Run - -Name = LEMP -DP -V $ pwd/html:/var/www/html linuxconfig/lemp -php7 8306ab0e404e5e5e4f17731f88a610f7f8bc939289c0746b8757163555df0b1a 

Al ejecutar el comando anterior, hemos creado y iniciado un nuevo contenedor Docker lemplo. Al mismo tiempo, también hemos montado nuestro directorio de desarrollo de sitios web html Como directorio raíz de Nginx. Ambos puertos MySQL y NGINX ahora están vinculados al puerto aleatorio de un sistema de host.

Ambos puertos locales ahora se pueden usar para acceder a los servicios MySQL y NGINX:

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

Acceso a Nginx

En esta etapa, se puede acceder a Nginx Webserver y nuestro sitio web a través de puertos dados por $ sudo Docker Port Lemp dominio. Use la línea de comandos o su navegador para navegar a http: // localhost: 32773 URL:

# curl -i http: // localhost: 32773 http/1.1 200 OK Servidor: Nginx/1.6.2 Fecha: Sol, 01 de enero de 2017 22:51:58 Tipo de contenido GMT: texto/html; Charset = UTF-8 Econado de transferencia: Conexión fortificada: Keep-Alive X-Powered-by: PHP/7.1.0 éxito: se realizó una conexión adecuada a MySQL! Información del host: 127.0.0.1 a través de TCP/IP 

Acceso mysql

Se puede acceder a la base de datos MySQL a través de administración Usuario y contraseña predeterminada aprobar. Como anteriormente, primero debemos obtener el número de puerto del sistema host vinculado a la base de datos MySQL dentro de una imagen de Docker utilizando $ sudo Docker Port Lemp dominio. A continuación, podemos conectarnos a la base de datos:

$ mysql -uadmin -ppass -h 127.0.0.1 -p32772 Bienvenido al monitor MySQL. Los comandos terminan con; o \ g. Su ID de conexión MySQL es 15 Versión del servidor: 5.5.53-0+DEB8U1 (Debian) Copyright (c) 2000, 2016, Oracle y/o sus afiliados. Reservados todos los derechos. Oracle es una marca registrada de Oracle Corporation y/o sus afiliados. Otros nombres pueden ser marcas comerciales de sus respectivos propietarios. Escriba 'ayuda;' o '\ h' por ayuda. Escriba '\ c' para borrar la instrucción de entrada actual. mysql> 

Php 7

Como ya se mencionó anteriormente, Php 7 se compiló de una rama PHP 7 de borde hemorrágico. Toda la instalación se realizó en /usr/local/php-version/ directorio. Desde este motivo para acceder a la línea de comando php Binario, o lo ejecuta con un camino completo:

# docker exec -it lemp/usr/local/php -7.1.0/bin/php -v php 7.1.0 (CLI) (construido: 1 de enero de 2017 21:33:40) (NTS) Copyright (c) 1997-2016 El motor PHP Group Zend Engine V3.1.0-DEV, Copyright (c) 1998-2016 Zend Technologies con Zend Opcache V7.1.0, Copyright (c) 1999-2016, por Zend Technologies 

o incluir /usr/local/php-7.1.0/bin/ Como parte de tu CAMINO variable ambiental.

información adicional

Obtenga una lista de módulos PHP 7 habilitados

# 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 SYSVMSG SYSVSEM SYSVSHM Tokenizer WDDX XML XMLREADER XMLWRITOR ZEND OPCACHE ZIP ZLIB [Módulos Zend] Zend Opcache 

Acceso al contenedor

Mientras que tu lemplo El contenedor se está ejecutando, puede ser acceso por:

$ sudo Docker Exec -it Lemp/bin/Bash Root@8306ab0e404e:/# 

Restablecer la contraseña de usuario de MySQL

El siguiente comando establecerá una nueva contraseña 123Para eladministración Usuario:

# MySQL MySQL> Establecer contraseña para 'admin'@'%' = contraseña ('123'); 

Reiniciar la pila de lemp

$ sudo Docker ejecutor ejecutor de servicio LEMP reiniciar 

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Ubuntu 20.04: WordPress con instalación de Nginx
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Cómo instalar Lemp Stack en Almalinux
  • Instale MySQL en Ubuntu 20.04 LTS Linux
  • Bucles anidados en guiones Bash
  • Cómo instalar MySQL en Almalinux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Lista de las mejores herramientas de Kali Linux para pruebas de penetración y ..