Es importante saber en qué lugar van estas directivas, ya que si las colocamos en algún bloque puede que no funcionen o tal vez no tenga sentido de colocarlas en el mismo.
Directiva listen
Esta directiva se utiliza en el bloque server y nos permite definir el puerto o la dirección IP por la cual Nginx va a escuchar peticiones para poder servir el contenido requerido, usualmente se utiliza el puerto 80 que es el puerto por defecto para el acceso a Internet. Podemos agregar una opción adicional llamada SSL donde le podremos definir algún certificado de seguridad. Algunos ejemplos de cómo utilizar esta directiva son:
listen 192.168.1.1:80;
listen 127.0.0.1;
listen 80 default;
listen [:::a8c9:1234]:80; # Las direcciones IPV6 deben ser colocadas entre corchetes
listen 443 ssl;
Directiva server_name
Le asigna uno o más nombres a un servidor Nginx de forma que cuando reciba una petición bajo este nombre pueda servir el contenido especificado dentro de un bloque server, esto lo logra utilizando una comparación entre el nombre recibido por la petición y el definido en el módulo, en caso que no haya ningún nombre se tomará el primer bloque server que corresponda con la información de escucha, en la siguiente imagen podemos ver varios ejemplos de esta directiva en un servidor Nginx:
Veamos el resto de las directivas:
Como vemos tenemos una cantidad de directivas que podemos aplicar para poder controlar nuestro servidor con Nginx, es muy importante respetar el contexto donde pueden ser aplicadas ya que si no podemos correr el riesgo que no se tenga el comportamiento adecuado de nuestro servidor.