Installazione di NGINX da source

Questa guida di installazione funziona su un server con Ubuntu > 15.04 (Testato su Ubuntu 18.04).

Tutti i comandi sono stati eseguiti come root, nella cartella /root.

  1. Aggiornare i pacchetti di apt
    # apt update
    
  2. Scaricare il source code di Nginx da qui
    # wget http://nginx.org/download/nginx-{version}.tar.gz
    
  3. Estrarre il file sorgente
    # tar zxvf nginx-{version}.tar.gz
    
  4. Spostarsi nella cartella nginx-{version} e controllare la configurazione
    # cd nginx-{version}
    # ./configure
    
  5. Installare le dipendenze necessarie con apt (un esempio)
    # apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
    
  6. Aggiungere tutti i flag per i moduli da utilizzare nella configurazione di Nginx (un esempio)
    # ./configure --sbin-path=/usr/bin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-pcre --pid-path=/var/run/nginx.pid --with-http_v2_module --with-http_ssl_module
    
  7. Compilare il codice
    # make
    
  8. Installare Nginx
    # make install
    
  9. Aggiungere Nginx come servizio Systemctl, seguendo le istruzioni dal sito di Nginx. Si tratta di creare il file /lib/systemd/system/nginx.service con un codice già quasi predisposto: bisogna cambiare la riga PIDFile, ExecStartPre, ExecStart, ExecReload. Il codice è qui riportato come esempio per la configurazione qui sopra:
    [Unit]
    Description=The NGINX HTTP and reverse proxy server
    After=syslog.target network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    PIDFile=/var/run/nginx.pid
    ExecStartPre=/usr/bin/nginx -t
    ExecStart=/usr/bin/nginx
    ExecReload=/usr/bin/nginx -s reload
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
  10. Abilitare il servizio Nginx all'avvio del server
    # systemctl enable nginx