Este artículo se basa en el aprendizaje de cómo-instalar-linux-nginx-mysql-php-lemp-stack-on-ubuntu-20-04 , puede consultar el texto original.
La pila de software LEMP es un conjunto de software que se utiliza para proporcionar servicios para páginas web dinámicas y aplicaciones web escritas en PHP. Este es un acrónimo utilizado para describir el sistema operativo Linux y el servidor web Nginx (pronunciado "Engine-X"). Los datos de back-end se almacenan en una base de datos MySQL y PHP maneja el procesamiento dinámico. Este artículo describe cómo instalar la pila LEMP en el servidor Ubuntu 20.04.
Requisitos previos:
Tener un usuario no root con privilegios sudo. Si no es así, cree uno debajo de la raíz.
adduser sammy
usermod -aG sudo sammy
Esto crea un usuario con privilegios de sudo.
Instalar Nginx
Ejecute el siguiente comando para instalar:
sudo apt update
sudo apt install nginx
Ver firewall
lista de aplicaciones sudo ufw
puede ser visto
Aplicaciones disponibles:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Habilitar firewall
sudo ufw permite 'Nginx HTTP'
Verificar estado: estado de
sudo ufw
puede ser visto:
Estado: Activo
Hacia Acción desde
- ------ ----
OpenSSH PERMITIR en cualquier lugar
Nginx HTTP PERMITIR en cualquier lugar
OpenSSH (v6) PERMITIR en cualquier lugar (v6)
Nginx HTTP (v6) PERMITIR en cualquier lugar (v6)
Ver la dirección IP local
ip addr show eth0 | grep inet | awk '{print $ 2;}' | sed's /\/.*$// '
también puede ser así:
curl -4 icanhazip.com
Obtenga la dirección IP, principalmente para verificar si está instalada.
Ingrese la dirección IP en el navegador, debería ver:
¡Bienvenido a nginx!
Si ve esta página, el servidor web nginx se instaló correctamente y funciona. Se requiere configuración adicional.
Para obtener documentación y soporte en línea, consulte nginx.org .
El soporte comercial está disponible en nginx.com .
Gracias por usar nginx.
Esto significa que Nginx está instalado
Instalar MySQL
Ejecute el siguiente comando:
sudo apt instalar servidor mysql
Realizar procedimientos de seguridad de la base de datos
sudo mysql_secure_installation
Si responde S, se inicia la instalación, se le solicitará el nivel de seguridad,
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
De hecho, la contraseña de restricción es un poco más complicada.
prueba:
sudo mysql
entra en mysql, porque sudo no requiere contraseña. salir Salir.
Instalar PHP
Ejecute el siguiente comando:
sudo apt instalar php-fpm php-mysql
Configurar Nginx para usar PHP
En Ubuntu 20.04, Nginx tiene un bloque de servidor habilitado de forma predeterminada y configurado para servir documentos en el directorio / var / www / html. Aunque esto es muy efectivo para un solo sitio, puede resultar difícil de administrar si aloja varios sitios. Crearemos una estructura de directorio para el sitio web de su_dominio dentro de / var / www en lugar de modificar / var / www / html. Si no se recibe la solicitud del cliente, dejaremos / var / www / html como el directorio predeterminado para que coincida con cualquier otro sitio web. .
El texto original explica que hay varios sitios configurados. Lo haré más simple aquí y usaré el predeterminado. Para ver la configuración de varios sitios, puede consultar el texto original o puede ver la introducción a la configuración de nginx . La supuesta simplicidad es que no se utiliza ningún nombre de dominio.
Vaya al directorio de trabajo / etc / nginx / sites-available para editar el valor predeterminado debajo de él
sudo nano predeterminado
Encontré el siguiente párrafo. Todo estaba comentado al principio. He descomentado 4 líneas aquí. La última línea es:}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
Hay un archivo aquí es /var/run/php/php7.4-fpm.sock, encontré este directorio, hay este archivo, el nombre del archivo en el tutorial anterior es diferente, puede ser 7.2, inconsistente con mi sistema , el resultado será Informar de un error.
Guarde el archivo, luego ejecute
sudo nginx -t
busca errores. Recargar nginx sin error
sudo systemctl recargar nginx
Se cambia la configuración.
prueba
Cree un archivo index.html en el directorio / var / www / html,
sudo nano index.html, el contenido es el siguiente:
<html>
<head>
<title>your_domain website</title>
</head>
<body>
<h1>Hello World!</h1>
<p>This is the landing page of <strong>your_domain</strong>.</p>
</body>
</html>
Ingrese la URL en el navegador para ver la página
¡Hola Mundo!
Esta es la página de destino de su_dominio .
Luego crea un info.php debajo
sudo nano /var/www/html/info.php
El contenido es el siguiente:
<?php
phpinfo();
Ingrese la dirección IP / php.info en el navegador
El mío es http://138.197.144.170/info.php
Se mostrarán muchas páginas de información php.
Probar la conexión de la base de datos desde php (opcional)
No lo presentaré aquí, puede consultar el texto original si es necesario, o
Eso es todo para la introducción.