Nginx es un servidor proxy inverso y HTTP de alto rendimiento y código abierto que alimenta algunos de los sitios más grandes de Internet. Comparado con Apache, Nginx puede manejar una gran cantidad de conexiones simultáneas y tiene una huella de memoria más pequeña por conexión.
Nginx se puede utilizar como servidor web independiente y como proxy inverso para servidores HTTP y no HTTP.
En este tutorial, explicaremos cómo instalar y administrar Nginx en Debian 10 Buster.
Instalar Nginx #
El paquete Nginx está incluido en los repositorios predeterminados de Debian Buster. La instalación es bastante sencilla, simplemente ejecute los siguientes comandos como root o usuario con privilegios sudo:
sudo apt update
sudo apt install nginx
El servicio Nginx se iniciará automáticamente una vez que se complete el proceso de instalación. Puedes verificarlo con curl
como se muestra a continuación:
curl -I 127.0.0.1
La salida se verá similar a esto:
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Tue, 16 Jul 2019 16:50:46 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 16 Jul 2019 16:50:26 GMT
Connection: keep-alive
ETag: "5d2e0052-264"
Accept-Ranges: bytes
Puedes usar el systemctl
comando para administrar el servicio Nginx, igual que cualquier otra unidad systemd.
Ajustar el cortafuegos #
Los usuarios de UFW pueden abrir HTTP (80
) y HTTPS (443
) puertos habilitando el perfil 'Nginx Full':
sudo ufw allow 'Nginx Full'
Si está utilizando nftables para filtrar las conexiones a su sistema, abra los puertos necesarios emitiendo el siguiente comando:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Estructura y mejores prácticas del archivo de configuración de Nginx #
- Los archivos de configuración de Nginx se almacenan en
/etc/nginx
directorio. - El archivo de configuración principal de Nginx es
/etc/nginx/nginx.conf
. - Los archivos de configuración del bloque del servidor (vhost) se almacenan en
/etc/nginx/sites-available
directorio. Nginx usa los archivos de configuración que se encuentran en este directorio solo cuando están vinculados a/etc/nginx/sites-enabled
directorio. - Para activar los bloques de un servidor, cree un enlace simbólico (un puntero) desde el archivo de configuración en un
sites-available
directorio alsites-enabled
directorio. - Para escribir un código más fácil de mantener, es una buena idea seguir una convención de nomenclatura estándar. Por ejemplo, si su nombre de dominio es
mydomain.com
entonces el archivo de configuración debe llamarse/etc/nginx/sites-available/mydomain.com.conf
. - El
/etc/nginx/snippets
El directorio contiene fragmentos de configuración que se pueden incluir en los archivos de bloque del servidor. Si usa segmentos de configuración repetibles, puede refactorizar esos segmentos en fragmentos e incluir el archivo de fragmento en los bloques del servidor. - Archivos de registro de Nginx (
access.log
yerror.log
) se encuentran en el/var/log/nginx/
directorio. Se recomienda tener unaccess
diferente yerror
archivos de registro para cada bloque de servidor. - Puede establecer el directorio raíz de documentos de su dominio en cualquier ubicación que desee. Las ubicaciones más comunes para webroot incluyen:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>