WindowsMacSoftwareConfiguraciónSeguridadProductividadLinuxAndroidRendimientoConfiguraciónApple Todo

Cómo instalar y configurar Nginx en Ubuntu

Editado 5 hace días por ExtremeHow Equipo Editorial

NginxUbuntuServidorLinuxServidor WebInstalaciónConfiguraciónSistemas operativosSistemaConfiguración

Cómo instalar y configurar Nginx en Ubuntu

Traducción actualizada 5 hace días

Bienvenido a esta guía sobre cómo instalar y configurar Nginx en el servidor Ubuntu. En este artículo detallado, cubriremos cada paso en detalle, explicando el proceso desde la instalación hasta la configuración, incluidos varios módulos y configuraciones que se pueden ajustar según sus necesidades. Nginx es conocido por su alto rendimiento, estabilidad, conjunto de características ricas, configuración sencilla y bajo consumo de recursos, lo que lo convierte en una elección popular para servidores web. Vamos a sumergirnos en los pasos para ejecutar Nginx en su sistema Ubuntu.

Entendiendo Nginx

Nginx (se pronuncia "engine x") es un servidor HTTP y proxy inverso de alto rendimiento, así como un servidor proxy IMAP/POP3. Ha sido desarrollado para manejar muchas conexiones concurrentes, lo que significa que es altamente eficiente en la entrega de contenido estático y en proporcionar características de balanceo de carga. Nginx es software de código abierto, lo que significa que es libre de usar, modificar y distribuir.

Requisitos previos

Antes de poder instalar Nginx, debe tener un servidor ejecutando Ubuntu. Esta guía asume lo siguiente:

Asegúrese de que su servidor esté actualizado con los últimos paquetes de software, para esto haga lo siguiente: sudo apt update && sudo apt upgrade.

Instalando Nginx

Para instalar Nginx, su gestor de paquetes debe estar actualizado. Usará apt, que es el gestor de paquetes predeterminado para Ubuntu. Siga estos pasos:

sudo apt update
sudo apt install nginx

El primer comando actualiza la lista de paquetes. El segundo comando instala Nginx. Después de la instalación, Nginx se inicia automáticamente. Para verificar que Nginx está ejecutándose, puede usar el comando: systemctl status nginx. Si el servicio está activo y en ejecución, debería ver una salida que lo indique.

Ajustando el firewall

Por defecto, Nginx se registra consigo mismo con ufw, que es una herramienta de configuración de firewall. Usando ufw se puede administrar qué puertos HTTP y HTTPS están abiertos. Ejecute:

sudo ufw app list

Debería ver el perfil de Nginx listado allí. Otorgue permiso Nginx Full de la siguiente manera:

sudo ufw allow 'Nginx Full'

Luego, verifique el cambio verificando el estado del firewall: sudo ufw status para asegurarse de que el tráfico esté permitido en los puertos requeridos.

Verificando el servidor Nginx

Ahora que Nginx está en ejecución y el firewall ajustado, puede ver la página predeterminada del servidor web. Abra un navegador web y navegue a la dirección IP pública de su servidor. Si Nginx está configurado correctamente, debería ver la página de "¡Bienvenido a Nginx!". Para encontrar la IP pública de su servidor, puede usar:

curl -4 icanhazip.com

Entendiendo la estructura de directorios de Nginx

Es importante que esté familiarizado con la estructura de directorios donde se instala Nginx, principalmente en /etc/nginx. Los principales directorios y archivos incluyen:

Los cambios de configuración generalmente deben hacerse en nginx.conf o creando nuevos archivos en sites-available.

Configuración básica de Nginx

El archivo nginx.conf es el archivo principal de configuración para Nginx. Las tareas simples pueden involucrar editarlo directamente, pero para cambios específicos relacionados con sitios alojados, use archivos de bloque de servidor. Creemos un nuevo archivo de bloque de servidor para el dominio llamado example.com. Dentro de /etc/nginx/sites-available/:

sudo nano /etc/nginx/sites-available/example.com

Agregue la siguiente configuración:

server {
    listen 80;
    server_name example.com www.example.com;
    location / {
        try_files $uri $uri/ =404;
    }
}

Para habilitar el archivo, cree un enlace simbólico al directorio sites-enabled:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Para verificar si lo tiene configurado correctamente:

sudo nginx -t

Si tiene éxito, recargue Nginx:

sudo systemctl reload nginx

Este ejemplo solo sirve archivos estáticos desde el directorio, asumiendo que están ubicados en /var/www/html bajo la raíz predeterminada de Nginx.

Configuración de un bloque de servidor

Los bloques de servidor le permiten alojar múltiples dominios en un solo servidor. El archivo de configuración de cada dominio debe estar en sites-available y el enlace simbólico en sites-enabled. Ejemplo de un bloque de servidor:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

Cree la estructura de directorios:

sudo mkdir -p /var/www/example.com/html

Especifique los permisos y cree una página HTML de muestra:

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
echo '<h1>¡Hola Mundo!</h1>' > /var/www/example.com/html/index.html

Recuerde crear el enlace simbólico y probar la configuración, luego recargue Nginx.

Implementación de SSL con Let's Encrypt

Para asegurar el tráfico hacia y desde su servidor, es importante implementar SSL/TLS. Let's Encrypt ofrece certificados SSL gratuitos. Comience instalando Certbot, el cliente de Let's Encrypt:

sudo apt install certbot python3-certbot-nginx

Certbot puede configurar automáticamente SSL para Nginx; ejecute:

sudo certbot --nginx -d example.com -d www.example.com

Durante el proceso, es necesario proporcionar una dirección de correo electrónico y aceptar los términos del servicio. Certbot manejará las modificaciones en la configuración de su Nginx para servir contenido sobre HTTPS.

Automatizar renovaciones de SSL

Los certificados de Let's Encrypt caducan cada 90 días. Configure un trabajo cron para renovar automáticamente los certificados. Abra el crontab:

sudo crontab -e

Agregue:

0 3 * * * /usr/bin/certbot renew --quiet

Esto ejecutará el comando de renovación todos los días a las 3 AM.

Ajuste de rendimiento

Para sitios con mucho tráfico, el ajuste de rendimiento es importante. Algunas estrategias de ajuste:

Considere usar herramientas como New Relic o Datadog para monitorear el rendimiento de Nginx.

Conclusión

Felicitaciones, has instalado y configurado Nginx en Ubuntu. Aprendiste cómo servir múltiples dominios, asegurar tu sitio con SSL y optimizar la configuración para un mejor rendimiento. Dado que las opciones y módulos de Nginx son tan ricos, explorar su documentación más a fondo puede ofrecerte muchas capacidades avanzadas e interesantes. Sigue experimentando, y pronto estarás gestionando un servidor web altamente optimizado.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios