Installazione di Nginx su Ubuntu 16.04

In questo tutorial andremo ad installare il server web Nginx su Ubuntu 16.04 Server.

Partiamo da una macchina virtuale Ubuntu Server 16.04 ( consiglio la lettura qui), ed installiamo il software Nginx:

sudo apt-get update

sudo apt-get install nginx

attraverso il systemd, controlliamo lo stato di Nginx:

sudo systemctl status nginx

e lo abilitiamo ad avviarsi automaticamente al boot

sudo systemctl enable nginx

mentre per fermare il servizio utilizzare:

sudo systemctl stop nginx

sudo systemctl start nginx

ultima opzione importante è il reload,  nel caso di ambienti di produzione , se dovessimo cambiare la configurazione (non per tutte va bene) di Nginx e il sito web  non può essere spento, utilizzeremo l’opzione reload per importare i nuovi cambiamenti, al di un riavvio:

sudo systemctl reload nginx

Attiviamo per rendere il nostro server sicuro il firewall ufw (Uncomplicated FireWall ), per controllare le connessioni in entrata e in uscita, in questo modo:

sudo ufw enable

sudo ufw app list

Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

consideriamo nel nostro caso di abilitare la porta 80 (HTTP) e la porta 443 (HTTPS), quindi:

sudo ufw allow 'Nginx Full'

Regola aggiunta
Regola aggiunta (v6)

sudo ufw status verbose

Stato: attivo
Registrazione: on (low)
Predefinito: deny (in entrata), allow (in uscita), disabled (instradato)
Nuovi profili: skip

A Azione Da
– —— —
80,443/tcp (Nginx Full) ALLOW IN Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)

accedendo alla pagina http://ip_server_ubuntu avremo il seguente risultato

Non modificando nessuna direttiva nelle configurazioni di Nginx, avremo che la cartella di default dove potremo creare un sito/applicazione web la ritroveremo al seguente percorso ( vediamo la index di default):

sudo ls -ltra /var/www/html

drwxr-xr-x 2 root root 4096 gen 13 16:40 ./
drwxr-xr-x 3 root root 4096 gen 13 16:40 ../
-rw-r–r– 1 root root 612 gen 13 16:40 index.nginx-debian.html

Nginx presenta diversi file di configurazione, la cartella principale è al seguente percorso:

sudo cd /etc/nginx

-rw-r–r– 1 root root 3071 feb 11 2017 win-utf
-rw-r–r– 1 root root 664 feb 11 2017 uwsgi_params
-rw-r–r– 1 root root 636 feb 11 2017 scgi_params
-rw-r–r– 1 root root 180 feb 11 2017 proxy_params
-rw-r–r– 1 root root 1462 feb 11 2017 nginx.conf
-rw-r–r– 1 root root 3957 feb 11 2017 mime.types
-rw-r–r– 1 root root 2223 feb 11 2017 koi-win
-rw-r–r– 1 root root 2837 feb 11 2017 koi-utf
-rw-r–r– 1 root root 1007 feb 11 2017 fastcgi_params
-rw-r–r– 1 root root 1077 feb 11 2017 fastcgi.conf
drwxr-xr-x 2 root root 4096 lug 12 2017 conf.d/
drwxr-xr-x 2 root root 4096 gen 13 16:40 sites-available/
drwxr-xr-x 2 root root 4096 gen 13 16:40 snippets/
drwxr-xr-x 6 root root 4096 gen 13 16:40 ./
drwxr-xr-x 2 root root 4096 gen 13 16:40 sites-enabled/
drwxr-xr-x 95 root root 4096 gen 13 16:40 ../

come possiamo notare ha una struttura molto simile ad Apache2. Focalizziamola nostra attenzione sulla cartella sites-available e vediamo il file default:

sudo cd sites-available/

sudo vim default

dalla struttura potremo notare un qualcosa di simile ai VirtualHost di Apache2, solo che nel caso di Nginx si chiamano Server Block , avremo:

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

index index.html index.htm index.nginx-debian.html;

server_name _;

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

}

questo Server Block di default è per siti che viaggiano sulla porta 80. Per abilitare il Server Block si dovrà creare un collegamento simbolico del file default presente nella cartella sites-available nella cartella site-enabled:

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled

Il file di configurazione globale lo ritroviamo al seguente percorso

sudo vim /etc/nginx/nginx.conf

con il seguente output (solo un estratto):

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
worker_connections 768;
# multi_accept on;
}

http {

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

……..

I percorsi dei file di log globali del software Nginx è possibile impostarli sempre dal file di configurazione globale precedent, in particolare

sudo cd /var/log/nginx

sudo ls -ltra

-rw-r—– 1 www-data adm 0 gen 13 16:40 error.log
drwxr-xr-x 2 root adm 4096 gen 13 16:40 ./
drwxrwxr-x 8 root syslog 4096 gen 13 16:49 ../
-rw-r—– 1 www-data adm 468 gen 13 18:33 access.log

 

 

Potrebbero interessarti anche...

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi