Cómo instalar NGINX, MySQL y PHP (LEMP) en Ubuntu 20.04
- 660
- 78
- Norma Sedillo
Una combinación de Linux, Nginx, MySQL y PHP se conoce como LEMP Stack es el popular entorno de alojamiento web para la aplicación basada en PHP. Aquí Linux es un sistema operativo, Nginx es el popular servidor web, MySQL es un sistema de administración de bases de datos relacionales utilizados para almacenar datos y PHP es el lenguaje de programación ampliamente utilizado.
Este artículo lo ayudará a instalar Nginx, MySQL 8.0 y PHP 7.4 en el sistema Ubuntu Linux. Comencemos con la instalación de Lemp Stack su máquina Ubuntu.
Requisitos previos
Antes de comenzar la instalación de LEMP en Ubuntu:
- Un Ubuntu 20 corriendo.04 sistema
- Inicie sesión como una cuenta provicida de sudo en su sistema. Para crearlo, siga el tutorial de configuración del servidor inicial.
- Un nombre de dominio/subdominio apuntó a su servidor
Instalación del servidor web Nginx
A continuación, debe instalar el servidor web NGINX en su sistema. Los paquetes NGINX están disponibles bajo los repositorios APT predeterminados.
Ejecute los siguientes comandos para instalarlo:
sudo apt actualización sudo apt install nginx
Instalación de PHP con PHP-FPM
Php 7.4 paquetes están disponibles bajo los repositorios predeterminados en Ubuntu 20.04 LTS. Use el siguiente comando para actualizar APT Cache e instalar PHP en su sistema.
sudo apt actualización sudo apt instalación -y php7.4 php7.4-FPM
Instale también módulos PHP adicionales requeridos para su aplicación.
sudo apt install php7.4-curl PHP7.4 GD PHP7.4-json php7.4-MBSSTRING PHP7.4-xml
Has instalado PHP 7.4 con el paquete PHP FPM en su sistema. Verifiquemos el estado del servicio PHP FPM ejecutando el siguiente comando:
SUDO SYSTEMCTL ESTADO PHP7.4-FPM ● PHP7.4-FPM.Servicio: el PHP 7.4 Administrador de procesos FASTCGI Cargado: Cargado (/lib/systemd/system/php7.4-FPM.servicio; activado; Vendor Preset: habilitado) Activo: Activo (Running) desde martes 2020-06-16 05:15:57 UTC; Hace 34S Docs: Hombre: PhP-FPM7.4 (8) Proceso: 882716 ExecstartPost =/usr/lib/php/php-fpm-socket-helper install/run/php/php-fpm.calcetín/etc/php/7.4/fpm/piscina.D/www.Conf 74> PID principal: 882699 (PHP-FPM7.4) Estado: "Procesos activos: 0, inactivo: 2, solicitudes: 0, lento: 0, tráfico: 0req/seg" Tareas: 3 (límite: 2283) Memoria: 10.3M CGROUP: /SISTEMA.rebanar/php7.4-FPM.Servicio ├─882699 Php-FPM: proceso maestro (/etc/php/7.4/fpm/php-fpm.conf) ├─882714 Php-FPM: Pool www └─882715 php-fpm: piscina www 16 de junio 05:15:57 tecadmin systemd [1]: comenzando el PHP 7.4 Fastcgi Process Manager ... 16 de junio 05:15:57 Tecadmin Systemd [1]: Comenzó el PHP 7.4 Administrador de procesos de FastCGI.
Instalación de MySQL
El Ubuntu 20 predeterminado.04 Repositorios APT contiene MySQL Server 8.0. Finalmente, instale paquetes de servidor mysql para la base de datos MySQL. Además, instale el paquete PHP-MYSQL para usar el soporte MySQL usando PHP. Use el siguiente comando para instalarlo.
sudo apt install mysql-server php7.4-mysql
El instalador solicitará la contraseña de root, esta contraseña funcionará para su usuario root de MySQL. Después de instalar MySQL, ejecute el siguiente comando para la configuración inicial del servidor MySQL. Verá que el script solicitará más configuraciones que las versiones MySQL anteriores como la política de validación de contraseña, etc.
sudo mysql_secure_installation
Asegurar la implementación del servidor MySQL. Conectarse a mysql usando una contraseña en blanco. Validar el componente de contraseña se puede usar para probar contraseñas y mejorar la seguridad. Verifica la fuerza de la contraseña y permite a los usuarios establecer solo aquellas contraseñas que son lo suficientemente seguras. ¿Le gustaría configurar el componente de contraseña de validar?? Presione Y | y para sí, cualquier otra clave para no: y Hay tres niveles de política de validación de contraseña: baja longitud> = 8 longitud media> = 8, numérica, casos mixtos y caracteres especiales fuertes longitud> = 8, numérica, Caso mixto, caracteres especiales y archivo de diccionario Ingrese 0 = bajo, 1 = medio y 2 = fuerte: 2 Establezca la contraseña para root aquí. Nueva contraseña: Vuelva a ingresar una nueva contraseña: Fuerza estimada de la contraseña: 100 ¿Desea continuar con la contraseña proporcionada??(Presione Y | y para sí, cualquier otra clave para no): y Por defecto, una instalación de MySQL tiene un usuario anónimo, lo que permite que cualquiera inicie sesión en MySQL sin tener que tener una cuenta de usuario creada para ellos. Esto está destinado solo a las pruebas y para que la instalación se vaya un poco más suave. Debe eliminarlos antes de mudarse a un entorno de producción. Eliminar usuarios anónimos? (Presione Y | y para sí, cualquier otra tecla para no): y éxito. Normalmente, la raíz solo se debe permitir que se conecte desde 'localhost'. Esto asegura que alguien no pueda adivinar la contraseña de root desde la red. No permitir el inicio de sesión de raíz de forma remota? (Presione Y | y para sí, cualquier otra tecla para no): y éxito. Por defecto, MySQL viene con una base de datos llamada 'prueba' a la que cualquiera puede acceder. Esto también se pretende solo para las pruebas, y debe eliminarse antes de mudarse a un entorno de producción. Eliminar la base de datos de prueba y el acceso a ella? (Presione Y | y para sí, cualquier otra tecla para no): Y - Base de datos de prueba de caída ... éxito. - Eliminar privilegios en la base de datos de prueba ... éxito. La recarga de las tablas de privilegios asegurará que todos los cambios realizados hasta ahora entrarán en vigencia de inmediato. Tablas de privilegio de recarga ahora? (Presione Y | y para sí, cualquier otra tecla para no): y éxito. Todo listo!
Configurar nginx con php-fpm
Creemos un host virtual NGINX para ejecutar con FPM/FastCGI. Para este tutorial, utilizamos VirtualHost predeterminado. Editar el archivo de configuración del host virtualHost en el editor de texto. Puede crear un nuevo VirtualHost según sus requisitos, así que asegúrese de habilitar cualquier nuevo VirtualHost.
sudo vim/etc/nginx/sites disponible/ejemplo.comunicarse
Use la configuración de host virtual Nginx Nginx siguiente con configuraciones PHP FPM. Actualizar la configuración como seguidores.
servidor escuchar 80; root/var/www/html; índice índice.índice de PHP.índice HTML.htm; Ejemplo de server_name.com; ubicación / try_files $ uri $ uri / = 404; ubicación ~ \ \.PHP $ incluye fragmentos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-FPM.calcetín;123456789101112131415 | servidor escuchar 80; root/var/www/html; índice índice.índice de PHP.índice HTML.htm; Ejemplo de server_name.com; ubicación / try_files $ uri $ uri / = 404; ubicación ~ \ \.PHP $ incluye fragmentos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-FPM.calcetín; |
Guarde sus cambios en el archivo de configuración y cree un enlace al directorio habilitado para el sitio.
sudo ln -s/etc/nginx/sites disponible/ejemplo.com/etc/nginx/sites-habilitado/ejemplo.comunicarse
Luego reinicie el servicio Nginx para recargar los cambios.
sudo systemctl reiniciar nginx
Paso 5 - Administrar servicios
Lo hemos hecho con la instalación de la pila de lámparas en Ubuntu 20.04 Sistema LTS. Los siguientes comandos lo ayudarán a iniciar/detener o reiniciar los servicios NGINX y MySQL que se ejecutan con Systemd.
Para reiniciar los servicios Nginx y MySQL, escriba:
sudo systemCtl reiniciar nginx sudo systemctl reiniciar mysql
Para iniciar los servicios NGINX y MySQL, escriba:
sudo systemctl inicio nginx sudo systemctl iniciar mysql
Para detener los servicios Nginx y MySQL, escriba:
sudo systemctl detener nginx sudo systemctl detener mysql
Paso 6 - Ajuste las reglas de firewall
Puede proporcionar directamente un nombre de servicio como "http" o "https" para permitir. El archivo de usos /etc /de firewalld para determinar el puerto correspondiente del servicio.
sudo firewall-cmd --Permanent --add-service = http sudo firewall-cmd --Permanent --add-service = https sudo firewall-cmd--releir
Paso 7 - Verifique la configuración
Después de completar toda la configuración. Creemos un información.php Archivo del sitio web Documento Root con el siguiente contenido.
sudo echo "">/var/www/html/info.php
Ahora acceda a este archivo en el navegador web. Verá la pantalla como a continuación con todos los detalles de PHP en el servidor.
Felicidades! Ha configurado con éxito el servidor LEMP en su Ubuntu 20.04 Sistema LTS.