Configurar els Server Blocks de NGINX a Debian

Configurar els Server Blocks de NGINX a Debian

Quan fem servir el servidor web Nginx, els server blocks (similar als virtual hosts d'Apache) els farem servir per a encapsular els detalls de configuració de cada domini.

Per començar a gestionar els nostres serveis web, el primer de tot serà crear un directori on posar tot el nostre codi web, per exemple:

sudo mkdir -p /var/www/lamevaweb.cat/blog

Editarem els permisos del directori principal per assegurar que son els correctes:

sudo chmod -R 755 /var/www/lamevaweb.cat

Ara, amb l'editor de codi que preferim, podem crear un arxiu HTML per veure que el que hem estat fent funciona corectament:

nano /var/www/lamevaweb.cat/web/index.html

Per que Nginx sapiga quin contingut ens ha de servir en cada cas, haurem de crear un bloc amb les directives correctes per que tot funcioni. Així doncs crearem el següent arxiu:

sudo nano /etc/nginx/sites-available/lamevaweb.cat

Dins del fitxer copiem aquest codi:

server {
        listen 80;
        listen [::]:80;

        root /var/www/lamevaweb.cat/blog;
        index index.html index.htm index.nginx-debian.html;

        server_name lamevaweb.cat www.lamevaweb.cat;

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

El següent pas es crear un enllaç o vincle cap a sites-enabled per indicar a Nginx que el nostre lloc web ja pot ser visitat i és públic:

sudo ln -s /etc/nginx/sites-available/lamevaweb.cat /etc/nginx/sites-enabled/

Opcional

Per a evitar possibles errors de memòria del hash bucket, que ens pot sorgir en voler afegir noms de servidor addicionals, editarem el valor a /etc/nginx/nginx.conf.

sudo nano /etc/nginx/nginx.conf

Buscarem la propietat server_names_hash_bucket_size i descomentem la linia deixant-la així:

...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Comprovem que la sintàxi de l'arxiu de configuració es correcta:

sudo nginx -t

I si tot ha anat bé, reiniciem nginx per veure els canvis:

sudo systemctl restart nginx

Ara ja hauríem de poder obrir el nostre navegador web i veure el nostre HTML funcionant.