Nginx pronunciado "motor x" es un servidor proxy inverso y HTTP de alto rendimiento y código abierto responsable de manejar la carga de algunos de los sitios más grandes en Internet. Se puede utilizar como servidor web independiente, equilibrador de carga, caché de contenido y proxy inverso para servidores HTTP y no HTTP.
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 explica cómo instalar y administrar Nginx en CentOS 8.
Requisitos previos #
Antes de continuar, asegúrese de haber iniciado sesión como usuario con privilegios de sudo y de no tener Apache ni ningún otro proceso ejecutándose en el puerto 80 o 443.
Instalando Nginx en CentOS 8 #
A partir de CentOS 8, el paquete Nginx está disponible en los repositorios predeterminados de CentOS.
Instalar Nginx en CentOS 8 es tan simple como escribir:
sudo yum install nginx
Una vez completada la instalación, habilite e inicie el servicio Nginx con:
sudo systemctl enable nginx
sudo systemctl start nginx
Para verificar que el servicio se está ejecutando, verifique su estado:
sudo systemctl status nginx
La salida debería verse así:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-10-06 18:35:55 UTC; 17min ago
...
Ajuste del cortafuegos #
FirewallDis la solución de firewall predeterminada en Centos 8.
Durante la instalación, Nginx crea archivos de servicio de cortafuegos con reglas predefinidas para permitir el acceso a HTTP (80
) y HTTPS (443
) puertos.
Utilice los siguientes comandos para abrir los puertos necesarios de forma permanente:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Ahora, puede probar su instalación de Nginx abriendo http://YOUR_IP
en su navegador web. Debería ver la página de bienvenida predeterminada de Nginx, que debería verse como la siguiente imagen:
Estructura y mejores prácticas del archivo de configuración de Nginx #
- Todos los archivos de configuración de Nginx se encuentran en
/etc/nginx/
directorio. - El archivo de configuración principal de Nginx es
/etc/nginx/nginx.conf
. - La creación de un archivo de configuración independiente para cada dominio facilita el mantenimiento del servidor.
- Los archivos de bloque del servidor Nginx deben terminar con
.conf
y ser almacenado en/etc/nginx/conf.d
directorio. Puede tener tantos bloques de servidor como desee. - Es una buena práctica seguir una convención de nomenclatura estándar. Por ejemplo, si el nombre de dominio es
mydomain.com
entonces el archivo de configuración debe llamarsemydomain.com.conf
- Si usa segmentos de configuración repetibles en los bloques del servidor de su dominio, es una buena idea refactorizar esos segmentos en fragmentos.
- 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>
/usr/share/nginx/html