LEMP¶
En este artículo
Información
LEMP es un conjunto de tecnologías de desarrollo web de código abierto que incluye el sistema operativo Linux, el servidor web NGINX (pronunciado "engine-x"), la base de datos MySQL y el lenguaje de scripting PHP.
- Linux proporciona alojamiento y gestión del servidor.
- NGINX actúa como servidor web de alto rendimiento y servidor proxy.
- MySQL es una base de datos relacional para almacenar y procesar datos.
- PHP es un lenguaje de programación utilizado para crear aplicaciones web dinámicas.
Características principales de LEMP¶
- Solución en contenedores: El stack LEMP está disponible tanto en implementación clásica como como solución en contenedores. Un contenedor Docker proporciona aislamiento para los componentes y sus dependencias, creando un entorno idéntico para desarrollo y producción.
- Alto rendimiento: La arquitectura basada en eventos de NGINX le permite manejar eficazmente miles de conexiones simultáneas. La ejecución optimizada de PHP a través de FastCGI asegura un procesamiento rápido de contenido dinámico, y el almacenamiento en caché avanzado de archivos estáticos reduce la carga del servidor.
- Configuración flexible: LEMP ofrece la capacidad de configurar cada componente. NGINX admite esquemas de enrutamiento complejos, equilibrio de carga y almacenamiento en caché. MySQL permite ajustar finamente los parámetros de rendimiento y seguridad. PHP se puede configurar para necesidades específicas de la aplicación con la opción de incluir las extensiones necesarias y optimizar el uso de memoria.
- Multifuncionalidad: PHP 8.3 viene con un conjunto de características para el desarrollo web moderno. Admite el trabajo con diversos formatos de datos, cifrado y protocolos de red. MySQL proporciona almacenamiento de datos confiable con soporte para transacciones, consultas complejas y replicación. NGINX ofrece capacidades avanzadas para enrutamiento de solicitudes, terminación SSL y manejo de contenido multimedia.
- Seguridad: LEMP incluye un sistema de seguridad multicapa. NGINX protege contra ataques DDoS y otras amenazas web. MySQL proporciona gestión flexible de permisos de usuario y cifrado de datos. PHP se configura teniendo en cuenta los requisitos modernos de seguridad. La contenedorización proporciona un nivel adicional de aislamiento, evitando que las vulnerabilidades en un componente afecten a otros.
- Escalabilidad: La arquitectura de LEMP permite una escalabilidad eficiente de las aplicaciones. NGINX admite la distribución de carga entre múltiples servidores. MySQL proporciona replicación de datos y particionamiento para grandes conjuntos de datos. PHP-FPM permite un control preciso sobre el número de procesos trabajadores. La contenedorización simplifica la implementación de instancias adicionales de la aplicación a medida que aumenta la carga.
- Facilidad de actualizaciones: Las actualizaciones de los componentes de LEMP se pueden realizar de forma independiente. NGINX y PHP admiten actualizaciones sin interrumpir el funcionamiento del servicio. MySQL proporciona herramientas para actualizaciones seguras de la base de datos. Con contenedores, es posible probar actualizaciones en un entorno aislado antes de aplicarlas a producción.
Funcionalidades de implementación¶
| ID | Nombre del software | SO compatible | VM | BM | VGPU | GPU | CPU mín. (núcleos) | RAM mín. (Gb) | HDD/SSD mín. (Gb) | Dominio personalizado | Activo |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 21 | LEMP | Ubuntu 22.04 | + | + | + | + | 1 | 1 | - | No | ORDER |
El stack se implementa dentro de un contenedor Docker utilizando la imagen adhocore/lemp:8.3. Se utilizan los siguientes directorios para el almacenamiento de datos:
- /root/data para archivos de base de datos;
- /root/webroot para archivos del sitio web.
Nota
Para trabajar con MySQL, debe conectarse a través del contenedor Docker, ya que el cliente MySQL no está instalado en el sistema host. Utilice el siguiente comando:
Nota
A menos que se especifique lo contrario, por defecto instalamos la última versión de lanzamiento del software desde el sitio web del desarrollador o los repositorios del sistema operativo.
Información
La descripción generada automáticamente del proceso de implementación del servidor está disponible aquí
Primeros pasos después de implementar LEMP¶
Una vez que su pedido esté pagado, recibirá una notificación por correo electrónico en la dirección que proporcionó durante el registro, informándole que su servidor está listo para su uso. Este correo electrónico incluirá la dirección IP de su VPS, el nombre de usuario y la contraseña para la conexión.
Los clientes de nuestra empresa gestionan su equipo a través del panel de control del servidor y la API — Invapi. Puede encontrar la dirección IP del servidor en la pestaña "Network". Una guía detallada sobre la gestión de la configuración de red está disponible aquí.
-
Login y Password para conectarse al servidor vía SSH: proporcionados en la notificación por correo electrónico enviada a su dirección de correo electrónico registrada una vez que el servidor esté listo después de la implementación del software. La contraseña para conectarse a la base de datos es la misma que la contraseña de conexión al servidor SSH.
-
NGINX:
- El servidor web es accesible en el puerto 88
- El contenido web se coloca en el directorio
/root/webroot. Para alojar un sitio web, copie sus archivos en este directorio. - Para probar el funcionamiento del servidor, cree un archivo de prueba:
- Acceso:
http://<su_IP_servidor>:88/test.html

-
MySQL:
- La base de datos es accesible en el puerto 3306
- Los datos se almacenan en
/root/data - La contraseña de root coincide con la contraseña de acceso SSH del servidor.
- Para conectarse, utilice:
Importante: Conexión a la base de datos desde PHP
Al configurar aplicaciones web (WordPress, Laravel, etc.), utilice como host de la base de datos:
127.0.0.1en lugar delocalhostEjemplo para WordPress en wp-config.php:
El uso de
localhostresulta en el error:Fatal error: Uncaught mysqli_sql_exception: No such file or directory
Razón: PHP intenta conectarse a través del socket Unix, que no está disponible en la ruta predeterminada dentro del contenedor. -
PHP 8.3:
- Instalado en el contenedor con todas las extensiones necesarias
- Funciona a través de FastCGI para aumentar el rendimiento.
- Para verificar la funcionalidad de PHP, cree un archivo info.php en el directorio
/root/webroot:

-
Puertos:
- 88: Web (NGINX)
- 3306: MySQL
- 5432: PostgreSQL
Nota
Todos los comandos para trabajar con la base de datos deben ejecutarse a través del contenedor Docker utilizando el comando docker exec. El contenedor opera dentro de una red dedicada, lemp-net, para mejorar el aislamiento y la seguridad.
Nota
Información detallada sobre el trabajo con la base de datos se puede encontrar en la documentación del desarrollador.
Pedido de un servidor con LEMP usando la API¶
Para instalar este software utilizando la API, siga estas instrucciones
Parte del contenido de esta página fue creado o traducido utilizando IA.