Introducción
Nginx es un servidor proxy inverso y HTTP de código abierto de alto rendimiento que sirve a algunos de los sitios más grandes de Internet. Comparado con Apache, Nginx es capaz de manejar una gran cantidad de conexiones simultáneas y tiene una menor huella de memoria 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.
Si su intención es instalar Nginx en un servidor remoto, continúe leyendo; de lo contrario, si desea instalar Nginx en su computadora local, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar Nginx
El paquete Nginx se incluye en los repositorios predeterminados de Debian Buster. La instalación es bastante sencilla, simplemente ejecute los siguientes comandos como root o usuario con privilegios de sudo:
sudo apt update
sudo apt install nginx
El servicio Nginx se iniciará automáticamente al final del proceso de instalación. Para verificar el estado, escriba:
sudo systemctl status nginx
La salida se verá así:
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-11-18 22:54:20 CET; 9s ago
Ajustar el firewall
Si no usa un firewall, no necesita ejecutar estos comandos.
Los usuarios de UFW pueden abrir los 80
) y HTTPS ( 443
) 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 ejecutando el siguiente comando:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Estructura y mejores prácticas de Nginx
- Los archivos de configuración de Nginx se almacenan en el
/etc/nginx
. - 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 el
/etc/nginx/sites-available
. Los archivos de configuración que se encuentran en este directorio son usados por Nginx solo cuando están vinculados al/etc/nginx/sites-enabled
. - Para habilitar los bloqueos de un servidor, cree un enlace simbólico (un puntero) desde el archivo de configuración en un directorio de
sites-available
sites-enabled
. - Se recomienda encarecidamente seguir la convención de nomenclatura estándar, por ejemplo, si su nombre de dominio es
mydomain.com
utilice como nombre del archivo de configuración de dominio/etc/nginx/sites-available/mydomain.com.conf
. - El
/etc/nginx/snippets
contiene fragmentos de configuración que se pueden incluir en los archivos de bloqueo del servidor. Si está utilizando segmentos de configuración repetibles, puede convertir esos segmentos en fragmentos e incluir el archivo de fragmentos en bloques de servidor. - Los archivos de registro de Nginx (
access.log
yerror.log
) se encuentran en el/var/log/nginx/
. Se recomienda que tenga diferenteserror
yaccess
para cada bloque de servidor. - Puede establecer la raíz del documento de dominio en cualquier ubicación que desee. Las ubicaciones más comunes para webroots incluyen:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
Conclusión
Instalar Nginx en Debian 10 es cuestión de ejecutar un solo comando.