Cómo instalar Nginx, Mariadb, PHP (pila Lemp) en Ubuntu 18.04 Bionic Beaver Linux

Cómo instalar Nginx, Mariadb, PHP (pila Lemp) en Ubuntu 18.04 Bionic Beaver Linux

Objetivo

Instale el servidor web Nginx (LEMP) en Ubuntu 18.04. En particular, esta guía de instalación del servidor web de Linux le muestra cómo instalar NGINX, cómo instalar mariadb y cómo instalar php.

Distribuciones

Ubuntu 18.04 Beaver Bionic

Requisitos

Una instalación en funcionamiento de Ubuntu 18.04 con privilegios de raíz

Dificultad

MEDIO

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

Si desea ejecutar sitios web basados ​​en PHP en Linux, Apache no es su única opción. Nginx es un servidor web más rápido y liviano de peso, que es bastante fácil de configurar y se ejecuta. Además, es excelente para manejar otras tareas como el equilibrio de carga, la optimización del servidor y actuar como un proxy inverso. En realidad, NGINX es una opción principal entre las nuevas empresas para alojar sus aplicaciones web.

Configuración de Nginx hasta el host PHP en Ubuntu 18.04 es muy simple y solo necesita unos pocos paquetes instalados para comenzar.

Instalación

Antes de que pueda hacer algo, debe instalar todo lo que necesite primero. Solo hay un par de paquetes que necesitas. Además, Ubuntu 18.04 tiene versiones bastante actuales de todo bien en sus repositorios predeterminados, por lo que no debe preocuparse por rastrear repositorios externos.

$ sudo apt install mariadb-server nginx php-fpm php-mysql

Durante la instalación, se le pedirá que configure una cuenta de administración para Mariadb/MySQL. Elija una frase de pases segura y memorable.

Deberías tomarte un minuto para comenzar y habilitar PHP-FPM ahora también.

Nota: Actualice los comandos a continuación con su versión de PHP instalada! Para verificar su versión de PHP, ejecute PHP -Versión dominio.
$ sudo systemctl inicio php7.1-FPM $ sudo SystemCTL Habilitar PHP7.1-fpm


Configure su base de datos

Ahora, puede iniciar sesión en su base de datos recién creada.

$ mysql -u root -p

Ingrese la contraseña que configuró durante la instalación.

Te dejarán caer en la consola mysql. Puedes hacer todo lo que necesitas desde allí. Antes de nada, haga su base de datos real.

MySQL> Crear base de datos 'bionic_lemp';

Luego, haga un uso regular para ejecutar la base de datos.

mysql> crear usuario 'sitio_admin'@'localhost' identificado por 'your_password';

Finalmente, otorgue a su nuevo usuario los privilegios para usar la base de datos.

mysql> otorgar todo en bionic_lemp.* A 'sitio_admin'@'localhost';

Cuando haya terminado, enjuague los privilegios y salga de la consola.

MySQL> privilegios de descarga; mysql> salir;

Configurar nginx

Todas las configuraciones de Nginx se encuentran en /etc/nginx. Se descomponen para simplificar el proceso de configuración. Los dos de los que debes preocuparte son los principales nginx.confusión archivo y el específico del sitio que creará para su sitio web. Ese, pondrás en el sitios disponibles directorio.

Cree un nuevo archivo para su sitio en /etc/nginx/sitios disponible. El camino completo debería ser algo como /etc/nginx/sites disponible/su sitio.

Comience el archivo creando un servidor bloquear. Nginx usa servidor Bloques para designar una nueva instancia de aplicación web para que escuche.

servidor 

Las primeras cosas que debes poner en tu servidor el bloque es el escuchar líneas. Le dicen a Nginx en qué puerto escuchar.

Escuche 80 predeterminado; escuchar [::]: 80 predeterminado;

Estos cubrirán las conexiones IPv4 e IPv6. Eliminar el por defecto Especifica que este es el servidor predeterminado. Solo puedes tener uno predeterminado, así que asegúrese de seleccionar el correcto, si está alojando varios sitios.

A continuación, dígale a Nginx qué nombre de dominio asociar con el sitio. Si solo estás haciendo esto localmente, usa hostil. De lo contrario, use su nombre de dominio.

servidor_name su sitio.com;

Si desea que NGINX redirle las solicitudes con el www al mismo bloque de servidor. Agregue el siguiente bloque antes del comienzo de su bloque de servidor actual.

servidor escuchar 80; server_name www.Tú sitio.com; devolver 301 http: // su sitio.com $ request_uri; 


A continuación, especifique el directorio raíz de su sitio y cómo se nombrará el archivo de índice del sitio. Estas líneas le dicen a Nginx que busque el sitio en /var/www/su sitio y comience con cualquier archivo llamado índice.php o índice.html.

root/var/www/su sitio/; índice índice.índice de PHP.html;

También es una buena idea configurar registros de errores individuales para cada uno de sus sitios. Especificarlos aquí también.

access_log/var/log/nginx/su sitio.access_log; Error_log/var/log/nginx/su sitio.registro de errores;

Crear un ubicación Bloque para decirle a Nginx que recaude un error 404 cada vez que no se encuentren los archivos. ubicación Los bloques van dentro de los bloques del servidor y le indique a NGINX cómo manejar los tipos de archivos específicos en ciertas ubicaciones.

ubicación / try_files $ uri $ uri / = 404; 

Lo último que debe hacer es decirle a NGINX cómo manejar sus archivos PHP. Crea otro ubicación bloque para eso.

Nota: Actualice la siguiente configuración con su versión PHP instalada! Para verificar su versión de PHP, ejecute PHP -Versión dominio.
Ubicación ~ \.PHP $ incluye fragmentos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.1-fpm.calcetín; 

Eso es todo lo que necesitas. Guardar y salir del archivo. Probablemente también sea una buena idea crear ese directorio de sitios ahora.

$ sudo/var/www/su sitio

Darle a Nginx la propiedad también.

$ sudo chown -r www-data: www-data/var/www/su sitio

Ahora, elimine el enlace simbólico para la configuración predeterminada en /etc/nginx/sitios habilitado.

$ sudo rm/etc/nginx/sites-habilitado/predeterminado

Luego, cree un nuevo enlace simbólico para la configuración de su sitio.

$ sudo ln -s/etc/nginx/sites-disponible/su sitio/etc/nginx/sitios habilitado/

Reiniciar Nginx para que los cambios entren en vigencia.

$ sudo systemctl reiniciar nginx


Probarlo

La mejor manera de probar que todo está funcionando es colocando un script PHP simple en el directorio de su sitio y que se conecte a su base de datos. Crear el siguiente archivo en /var/www/su sitio/índice.php.

Página cargada con PHP!'; $ conn = mysqli_connect ('localhost', 'site_admin', 'your_password'); si(!$ conn) die ('

Error:

' . mysqli_connect_error ()); else echo '

Conectado con éxito a MySQL Database!

'; ?>

Navegue a su sitio con su navegador web. Si ve el mensaje de éxito que dice que se conectó correctamente a MySQL, su servidor está configurado correctamente.

Pensamientos de cierre

Configurar NGINX lleva algo de tiempo, pero vale la pena. No solo es más rápido que otros servidores web, sino que le brinda muchas opciones y control de grano fino. También es fácil configurar Nginx para alojar aplicaciones web escritas en otros idiomas como Python y Ruby junto con los PHP. Nginx es fácilmente una de las mejores opciones para aplicaciones web modernas.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Cosas para instalar en Ubuntu 22.04
  • Cómo instalar Lemp Stack en Almalinux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Ubuntu 20.04 Guía
  • Ubuntu 20.04 WordPress con instalación de Apache
  • Ubuntu 20.04: WordPress con instalación de Nginx
  • Instale Arch Linux en VMware Workstation
  • Cómo crear una pila de lámparas basada en Docker usando Docker en ..