Cómo configurar Nginx con varios server names

Configurar Nginx con varios server names va a permitir tener varias aplicaciones funcionando en un mismo servidor y acceder a ellas con DNS diferentes.

Nginx viene incluido por defecto en los repositorios de Ubuntu, por lo que su instalación es sencilla con el sistema de paquetes apt. Abrimos un terminal y ejecutamos lo siguiente:

sudo apt update
sudo apt install nginx

Una vez aceptado el procedimiento, nginx se habrá instalado en el sistema operativo y podremos conocer su estado mediante el comando:

sudo service nginx status

Si la instalación ha sido correcta deberías ver un resultado en verde como en la imagen. En caso de error, revisa si el puerto 80 está siendo utilizado por otro servicio (como Apache por ejemplo) puesto que Nginx por defecto utiliza este puerto para funcionar.

Además de status puedes utilizar los comandos start, stop, restart para arrancar, parar o reiniciar el servicio. Esto lo utilizaremos más adelante cuando tengamos que modificar el fichero de configuración. También es posible validar si el servicio está funcionando accediendo con el navegador a la URL http://localhost donde deberíamos ver el mensaje de bienvenida.

Edición fichero de configuración

Una vez Nginx levantado y funcionando, ya podemos editar su fichero de configuración. En este caso vamos a usar el editor nano y desde la terminal de linux ejecutaremos: «sudo nano /etc/nginx/sites-available/default» Una vez abierto el fichero de configuración, deberemos especificar tantos bloques «server» como server_names queramos configurar. Un server_name se puede indicar usando una IP o bien un nombre DNS. El fichero quedaría de la siguiente forma:

server {
server_name focusoft.es;
location / { proxy_pass http://localhost:8035/; }

}

Nginx ahora sabe que todas las peticiones al dominio focusoft.es deben ser redirigidas internamente al puerto 8035 de nuestra máquina. No hay que olvidar reiniciar el servicio en cada modificación del fichero de configuración para que los cambios sean aplicados.

Llegados a este punto ya sabemos cómo configurar Nginx con varios server names, para nuestra programación a medida y asociar un DNS o IP con su aplicación correspondiente, pero ¿qué ocurre si quiero asociar un SSL a mi dominio? Eso lo aprenderemos en otro post.