LEMP es el acrónimo que se usa para Linux, Nginx (que se pronuncia como Engine X), MariaDB / MySQL y PHP. Nginx es un servidor web open-source, muy robusto y de alta performance. MariaDB como base de datos y PHP lenguaje de programación de sitios web.
Tanto Nginx y Apache son servidores web muy populares utilizados para servidores web en todo el mundo. Apache fue lanzado primero en 1995, luego llegó Nginx en el 2004 a dar soluciones a limitaciones de Apache, aunque claro, Apache también evolucionó.
Ambos son usados por grandes empresas. La posición de Nginx en el mercado ha ido en crecimiento constante en los últimos años. En algunas ocasiones, Nginx ha tenido la ventaja competitiva en términos de desempeño.
Gran parte de la razón por la que Apache sigue ocupando una buena posición en el mercado es parcialmente por el hecho de que viene instalado en la gran mayoría de las distribuciones Linux, como Red Hat/Centos y Ubuntu.
En Marzo del 2019, Nginx Inc fue adquirido por F5 Networks por una cifra importante, nada más y nada menos que por $670 millones. En ese momento, como lo reporta Techcrunch, el servidor Nginx estaba siendo usado por más de «375 millones de sitios web».
No vamos a polemizar cual es mejor o peor, hoy en el curso vamos a ver como se instala y configura, dado que como dije más arriba los sistemas Linux vienen configurados para Apache, hay que hacer algunos cambios.
1- Instalación nginx
dnf install nginx
1.1- Verificar servicio, y dejarlo en start.
systemctl status nginx systemctl start nginx systemctl enable nginx
1.2- Chequear la versión
nginx -v
1.3- Chequear el servicio corriendo
http://localhost
2- Instalar MariaDB
dnf install mariadb-server mariadb
2.1- Verificar estado y hacerle start
systemctl status mariadb systemctl start mariadb systemctl enable mariadb
2.2- Instalación de la base de datos.
mysql_secure_installation
Apenas lanzamos la instalación vamos a darle Enter al usuario root y la primer pregunta «Set root password», le damos un Y, y colocamos la contraseña. El resto de las preguntas podes darle enter.
2.3- Ingresamos al interprete de mariadb
mysql -u root -p
4- Instalando PHP
Debemos tener los repositorios Epel y Remi instalados para tener las últimas versiones, si no podemos instalar la que viene en los repositorios.
dnf install php php-opcache php-gd php-curl php-mysqlnd
4.1- Verificar servicio, asegurate que quede start
systemctl enable php-fpm systemctl start php-fpm systemctl status php-fpm
4.1- Configuraciones adicionales
Por defecto PHP-FPM esta configurado para el servicio de apache, por lo que vamos a ajustar esto, modificando el archivo www.conf.
nano /etc/php-fpm.d/www.conf
Localizamos donde dice user = apache group = apache
Y lo cambiamos por: user = nginx group = nginx
Por último restartear los servicios
systemctl restart nginx && systemctl restart php-fpm
5- Verificar que PHP quedo bien instalado creando un archivo llamado info.php y lo ubicamos en /usr/shares/nginx/html/
nano /usr/share/nginx/html/info.php
Pegamos lo siguiente:
<?php phpinfo(); ?>
Ingresamos al navegador para verificar: http://server-ip/info.php
Finalmente el video de la clase: