Cómo instalar NGINX en Ubuntu 20.04 y sitio web de host

Cómo instalar NGINX en Ubuntu 20.04 y sitio web de host

 

NGINX es un software de servidor web de código abierto. Puede implementar NGINX como servidor web independiente o como proxy frente a otros servidores web (en esencia, proxy inverso). Nginx es uno de los mejores servidores web para alojar un sitio web de alto tráfico.

En este tutorial, nos centraremos en instalar NGINX como un servidor web independiente en Ubuntu 20.04 .

Instalar NGINX en Ubuntu 20.04

En primer lugar, ejecute sudo apt-get update para recuperar información sobre paquetes nuevos y actualizados antes de proceder a instalar NGINX.

Nginx está disponible en el repositorio de paquetes de Ubuntu. Entonces es fácil instalar Nginx usando el siguiente comando:

$ sudo apt-get install nginx

Comprobar el estado del servicio NGINX

Hagamos una verificación rápida para confirmar el estado del servicio NGINX, ejecute el siguiente comando:

$ sudo systemctl status nginx
Cómo instalar NGINX en Ubuntu 20.04 y sitio web de host

El resultado del comando anterior confirma que NGINX está activo y ejecutándose . Si recibe un mensaje que indica que NGINX está inactivo, no se inició o no se está ejecutando, puede iniciar manualmente el servicio NGINX ejecutando el siguiente comando.

$ sudo systemctl start nginx

Para verificar la versión de Nginx, ejecute:

$ sudo dpkg -l nginx
Cómo instalar NGINX en Ubuntu 20.04 y sitio web de host

El resultado muestra que la versión 1.18.0 de Nginx se está ejecutando en Ubuntu 20.04, al momento de escribir este tutorial.

Probar el servidor web NGINX

Después de confirmar que el servicio NGINX está activo y ejecutándose, ahora puede probar el servidor web abriendo su navegador web preferido e ingresando la dirección IP de su servidor (http://your_server_ip) en el que está instalado NGINX.

Debería ver la página web predeterminada titulada » ¡Bienvenido a nginx! «

Cómo instalar NGINX en Ubuntu 20.04 y sitio web de host

Además, confirme que el puerto apropiado esté abierto en su firewall. Por ejemplo, si ha habilitado el cortafuegos sin complicaciones (ufw) en su servidor Ubuntu, debe intentar actualizar las reglas del cortafuegos para permitir que NGINX se comunique en el puerto 80 y/o 443 de la siguiente manera.

Para permitir NGINX en el puerto 80:

$ sudo ufw allow 'Nginx HTTP'

Para permitir NGINX en el puerto 443:

$ sudo ufw allow 'Nginx HTTPS'

Configurar bloques de servidor NGINX

Si desea alojar varios sitios web en el mismo servidor web NGINX, deberá configurar bloques de servidor. Los bloques de servidor también se denominan hosts virtuales (principalmente en Apache).

NGINX está preconfigurado con un solo bloque de servidor y ahí es donde se almacenan los detalles de configuración para el sitio web predeterminado (/etc/nginx/sites-disponible) (/var/www/html).

Vamos a ver.

$ sudo ls -l /etc/nginx/sites-available
total 8
-rw-r--r-- 1 root root 2416 Mar 26  2020 default

Ejecute el siguiente comando para mostrar el contenido del archivo de bloqueo del servidor predeterminado.

$ sudo cat /etc/nginx/sites-available/default | more

Presione la barra espaciadora en su teclado para desplazarse hacia abajo una página a la vez. Verá que el archivo contiene detalles de configuración del servidor predeterminados, como el número de puerto de escucha, la raíz del documento (es decir, la carpeta base para almacenar el contenido del sitio web), el archivo de índice y el nombre del servidor.

También debería ver una sección titulada Configuración de host virtual como se muestra a continuación. Puede configurar su sitio web adicional aquí, pero es mejor crear un archivo de bloque de servidor separado y dejar el predeterminado como está.

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#	listen 80;
#	listen [::]:80;
#
#	server_name example.com;
#
#	root /var/www/example.com;
#	index index.html;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}

Mientras tanto, copie la información de configuración de muestra anterior y guárdela en un editor de texto. Usaremos esta información pronto.

Crear raíz del sitio web

A continuación, deberá crear una carpeta raíz en /var/www para almacenar los contenidos de su sitio web adicional. Por ejemplo, voy a crear una carpeta llamada dominio1.com para mi sitio web dominio1.com.

Nota: debe reemplazar dominio1 con su propio nombre de dominio registrado. También debe actualizar los registros DNS para apuntar su nombre de dominio a la dirección IP pública de su servidor web NGINX.

sudo mkdir /var/www/domain1.com

Crear un archivo de índice

El archivo de índice es la página web principal que se muestra cuando abre un sitio web. Ejecute el siguiente comando para crear un archivo de índice para su sitio web adicional.

$ sudo nano /var/www/domain1.com/index.html

Estoy usando nano en este ejemplo, pero puedes usar tu editor de texto favorito. A continuación, puede copiar y pegar el siguiente código HTML con fines de prueba.

<!DOCTYPE html>
<html>
<head>
<title>Welcome to Domain1!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to Domain1!</h1>
<p>If you see this page, the Domain1 website is working!</p>
</body>
</html>

Guarde los cambios y cierre el editor de texto.

Crear un bloque de servidor

El siguiente paso es crear un archivo de bloque de servidor para guardar los detalles de configuración del sitio web adicional. Ejecute el siguiente comando.

$ sudo nano /etc/nginx/sites-available/domain1

Copie la información de configuración de host virtual de muestra que guardó anteriormente y péguela en el nuevo archivo. Comenzando desde la línea «servidor», asegúrese de eliminar todos los símbolos # para descomentar las directivas. Además, recuerde reemplazar «dominio1» con su propio nombre de dominio registrado en consecuencia.

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
server {
       listen 80;
       listen [::]:80;

       server_name domain1.com www.domain1.com;

       root /var/www/domain1.com;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }
}

Guarde los cambios y cierre este archivo.

Habilitar bloqueo de servidor

Para que NGINX sepa que el sitio web adicional está disponible, ejecute el siguiente comando para crear un enlace simbólico al archivo de bloqueo del servidor.

$ ln -s /etc/nginx/sites-available/domain1 /etc/nginx/sites-enabled

Prueba tu configuración

Ejecute sudo nginx -t para probar la configuración de bloque de su servidor. Debería ver un mensaje que indica que todo está bien.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Puede ejecutar sudo service nginx reload para recargar los archivos de configuración.

Prueba tu nuevo sitio web

Abra un navegador web e ingrese la nueva dirección de su sitio web. Debería ver el contenido del archivo de índice creado para su nuevo sitio web, en lugar de la página web predeterminada de NGINX.

Cómo instalar NGINX en Ubuntu 20.04 y sitio web de host

Comandos básicos para controlar NGINX

Aprendamos los comandos básicos de Nginx para administrar su servidor web.

El comando de reinicio detendrá el servicio y luego lo iniciará de nuevo.

$ sudo systemctl restart nginx

El comando de recarga le dice a NGINX que vuelva a cargar sus archivos de configuración pero sin detener el servicio.

$ sudo systemctl reload nginx

La parada de comando detendrá el servicio Nginx.

$ sudo systemctl stop nginx

Para permitir que el servicio Nginx se inicie en el arranque, ejecute

$ sudo systemctl enable nginx

Nota: De forma predeterminada, el servicio Nginx está habilitado para iniciarse automáticamente cuando se inicia el servidor.

Configuración básica de NGINX y archivos de registro

/etc/nginx: contiene todos los archivos de configuración de NGINX

/etc/nginx/sites-disponible : contiene archivos de bloque de servidor que almacenan detalles de configuración para servir uno o más sitios web

/etc/nginx/sites-enabled: contiene archivos de configuración para uno o más sitios web habilitados

/etc/nginx/nginx.conf: archivo de configuración principal que también lee las directivas de configuración en otros archivos

/var/log/nginx/access.log: ubicación predeterminada para almacenar información sobre todas las visitas a su sitio web

/var/log/nginx/error.log: ubicación predeterminada para almacenar errores de NGINX

Conclusión

Al seguir esta guía, debería poder poner en funcionamiento NGINX con uno o más sitios web en su servidor Ubuntu 20.04. Pero si encuentra algún problema, no dude en hacérnoslo saber en la sección de comentarios a continuación y haremos todo lo posible para ayudarlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.