Editado 5 hace días por ExtremeHow Equipo Editorial
NginxUbuntuServidorLinuxServidor WebInstalaciónConfiguraciónSistemas operativosSistemaConfiguración
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.
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.
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
.
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.
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.
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
Es importante que esté familiarizado con la estructura de directorios donde se instala Nginx, principalmente en /etc/nginx
. Los principales directorios y archivos incluyen:
nginx.conf
: El archivo principal de configuración.sites-available
: Donde se almacenan todas las configuraciones de bloque de servidor.sites-enabled
: Un directorio que contiene enlaces simbólicos a archivos habilitados en sites-available
.Los cambios de configuración generalmente deben hacerse en nginx.conf
o creando nuevos archivos en sites-available
.
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.
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.
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.
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.
Para sitios con mucho tráfico, el ajuste de rendimiento es importante. Algunas estrategias de ajuste:
/etc/nginx/nginx.conf
incremente: configurando worker_processes auto;
y worker_connections 1024;
.gzip on;
Considere usar herramientas como New Relic o Datadog para monitorear el rendimiento de Nginx.
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