Nginx es un servidor proxy inverso y HTTP de alto rendimiento y código abierto que impulsa algunos de los sitios más grandes de Internet.
Nginx se puede utilizar como servidor web independiente y como proxy inverso para Apache y otros servidores web.
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.
Este tutorial describirá los pasos para instalar y administrar Nginx en una máquina Debian.
Requisitos previos #
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalar Nginx #
La instalación es bastante sencilla. Siga los pasos a continuación para instalar Nginx en su sistema Debian:
-
Actualice el índice de paquetes:
sudo apt update
-
Instale el paquete Nginx:
sudo apt install nginx
-
El servicio Nginx se iniciará automáticamente una vez que se complete el proceso de instalación. Puede verificarlo ejecutando el siguiente
curl
comando:curl -I 127.0.0.1
HTTP/1.1 200 OK Server: nginx/1.10.3 Date: Mon, 27 Aug 2018 22:29:02 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Mon, 27 Aug 2018 22:27:54 GMT Connection: keep-alive ETag: "5b847aea-264" Accept-Ranges: bytes
Ajustar el cortafuegos #
Si usa iptables para filtrar las conexiones a su sistema, deberá abrir HTTP (80
) y HTTPS (443
) puertos.
Abra los puertos necesarios emitiendo el siguiente comando:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Administrar el servicio Nginx con systemctl #
Puedes usar el systemctl
comando para administrar el servicio Nginx, igual que cualquier otra unidad systemd.
Para detener el servicio Nginx, ejecute:
sudo systemctl stop nginx
Para iniciarlo de nuevo, escriba:
sudo systemctl start nginx
Para reiniciar el servicio Nginx:
sudo systemctl restart nginx
Vuelva a cargar el servicio Nginx después de haber realizado algunos cambios de configuración:
sudo systemctl reload nginx
Deshabilite el servicio Nginx para que comience en el arranque:
sudo systemctl disable nginx
Y para volver a habilitarlo de nuevo:
sudo systemctl enable nginx
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 no utiliza los archivos de configuración que se encuentran en este directorio a menos que estén vinculados a/etc/nginx/sites-enabled
directorio. - La activación de los bloques del servidor se realiza mediante la creación de un enlace simbólico (un puntero) desde los sitios del 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>