Instalación y configuración de Nginx en Ubuntu 16.04

Vamos a ver como instalar Nginx en Ubuntu, Nginx es uno de los servidores web más populares del mundo y responsable de alojar algunos de los sitios con mayor trafico de internet. Nginx puede usarse como un servidor web o un proxy inverso.

Para empezar actualizamos la lista de repositorios e instalamos Nginx:

Al final del proceso de instalación y si todo ha ido bien, Nginx ya debería estar activo, podemos comprobarlo con:

Si vemos la linea “Active: active (running)…” es que Nginx está funcionando, si introducimos la dirección de nuestro equipo/servidor debería aparece la página por defecto de Nginx con el mensaje “Welcome to nginx!“.

Ajuste el Firewall

Si Nginx está activo pero no podemos acceder a el, posiblemente el firewall ufw este activo. Para permitir el acceso a Nginx comprobamos las aplicaciones disponibles para el firewall ufw:

Deberíamos ver algo así:

Como se puede ver, hay tres perfiles disponibles para Nginx:

  • Nginx Full: Este perfil abre tanto el puerto 80 (tráfico web normal, sin cifrar) como el puerto 443 (tráfico cifrado TLS / SSL)
  • Nginx HTTP: Este perfil abre sólo el puerto 80 (normal, tráfico web no cifrado)
  • Nginx HTTPS: Este perfil abre sólo el puerto 443 (tráfico cifrado TLS / SSL)

Podemos habilitar el perfil deseado escribiendo:

Podemos verificar los cambios escribiendo:

Administrar el Proceso de Nginx

Vamos a repasar algunos comandos básicos de la administración de Nginx.

Para detener el servidor web:

Para iniciar el servidor web cuando está detenido:

Para detener e iniciar de nuevo el servicio:

Si solo estamos realizando cambios de configuración, Nginx puede cargar las nuevas configuraciones sin abandonar las conexiones con el comando:

De forma predeterminada, Nginx está configurado para iniciarse automáticamente cuando se inicia el servidor, para desactivar este comportamiento:

Para volver a habilitar el servicio de arranque automático:

Archivos y Directorios Importantes de Nginx

Todo el contenido web, donde por defecto está la pagina de bienvenida de Nginx está en “/var/www/html“, este directorio puede cambiarse desde la configuración de Nginx.

  • /etc/nginx/nginx.conf: El fichero de configuración principal de Nginx, donde se pueden realizar cambios en la configuración global de Nginx.
  • /etc/nginx/sites-available: El directorio donde se pueden almacenar la configuración de cada sitio. Nginx no utilizará los archivos de configuración que se encuentren en este directorio a menos que estén vinculados al directorio sites-enabled (ver abajo). Normalmente, toda la configuración del bloque del servidor se realiza en este directorio y se habilita mediante la vinculación al otro directorio.
  • /etc/nginx/sites-enabled: Directorio donde se almacena la configuración de los sitios “habilitados” en el servidor. Por lo general, estos se crean mediante la vinculación a los archivos de configuración que se encuentran en el directorio sites-available.
  • /etc/nginx/snippets: Este directorio contiene fragmentos de configuración que se pueden incluir en cualquier otro lugar de la configuración de Nginx. Los segmentos de configuración potencialmente repetibles son buenos candidatos para la refactorización en fragmentos.
  • /var/log/nginx/access.log: Cada solicitud a su servidor web se registra en este archivo de registro a menos que Nginx esté configurado para hacerlo de otra manera.
  • /var/log/nginx/error.log: Cualquier error Nginx se registrará en este registro.