del que ya hemos hablado otras veces.

Teniendo un webserver, lo primero es saber como" /> del que ya hemos hablado otras veces.

Teniendo un webserver, lo primero es saber como" /> del que ya hemos hablado otras veces.

Teniendo un webserver, lo primero es saber como" /> del que ya hemos hablado otras veces.

Teniendo un webserver, lo primero es saber como" />
17 Sep 2015

Bloques (vhost) en Nginx

Bloques (vhost) en Nginx

Nginx, es un servidor web/proxy inverso ligero de alto rendimiento, del que ya hemos hablado otras veces.

Teniendo un webserver, lo primero es saber como resolver diferentes dominios.

Primero, lo que en Apache se conoce como vhosts, en Nginx, se llaman bloques. Y la forma de habilitarlos, es editando el archivo /etc/nginx/conf.d/default.conf o agregando más archivos sobre ese directorio, siempre con el .conf al final.

Para agregar un bloque, lo primero es definir que dominio queremos resolver y sobre que directorio se trabajará:

server {
        # Base
        listen    80;
        server_name sitio.com;
        server_name www.sitio.com;
        root /var/www/html/sitio.com;
        index index.html index.htm index.php;
}

En el ejemplo se resuelve sitio.com sobre un directorio del mismo nombre, haciendo que devuelva como página inicial index.html, .htm o .php.

Lo siguiente, es decirle que atienda la petición de cualquier archivo, y que si este no existe regrese el clásico error 404.


        location / {
                try_files $uri $uri/ =404;
                autoindex off;
        }

Además, con 'autoindex off', evitamos mostrar la lista de archivos típica de cuando no tenemos una página index.

Claro, como seguramente tenemos archivos ocultos, hay que evitar su publicación, aunque existan:

location ~ /\.ht {
                deny all;
        }

Y claro, como somos gente elegante, hay que dejar un log para todo los errores que se presenten en este dominio:

error_log /var/www/__logs/sitio.com.error error;

Con estos segmentos básicos puedes dar de alta tantos bloques como necesites sobre tu server.

Si deseas tener un ejemplo base de esta configuración, obtenlo desde mi github en: https://github.com/ivanmiranda/webserver

Artículos relacionados