Come creare NGINX dal sorgente su Ubuntu 24.04/22.04/20.04

Costruire NGINX dal sorgente su Ubuntu offre un approccio su misura alla configurazione del tuo server web, garantendo prestazioni ottimali e compatibilità con il tuo ambiente specifico. A differenza delle installazioni binarie, la compilazione di NGINX dal sorgente offre la flessibilità di abilitare o disabilitare moduli specifici, integrare moduli di terze parti e applicare patch personalizzate. Questo processo consente una comprensione più profonda del funzionamento interno del server e facilita una configurazione più sicura ed efficiente su misura per le tue esigenze specifiche.

Punti salienti della creazione di Nginx:

  • Configurazione personalizzata: Personalizza NGINX per soddisfare le tue esigenze abilitando solo i moduli richiesti.
  • Prestazioni migliorate: Ottimizza NGINX per il tuo hardware e carico di lavoro, migliorando potenzialmente i tempi di risposta e l'utilizzo delle risorse.
  • Funzionalità avanzate: Accedi a funzionalità e moduli all'avanguardia che potrebbero non essere disponibili nei pacchetti precompilati.
  • Sicurezza: Applica patch specifiche e compila con opzioni di sicurezza rafforzate per una distribuzione più sicura.
  • Opportunità di apprendimento: Ottieni una conoscenza approfondita dell'architettura e delle opzioni di configurazione di NGINX.
  • Controllo: Mantieni il pieno controllo sulla configurazione del server, inclusi i percorsi delle directory e i file di configurazione.
  • Aggiornato: Crea l'ultima versione di NGINX, accedendo a nuove funzionalità e correzioni di bug prima del rilascio dei pacchetti.
  • Supporto comunitario: Sfrutta la vasta conoscenza e le risorse della comunità open source per la risoluzione dei problemi e i miglioramenti.

Tenendo presente questi vantaggi, creare NGINX da un sorgente è un approccio potente per coloro che cercano il massimo controllo ed efficienza dal proprio server web.

Entriamo nei passaggi dettagliati per creare NGINX dal sorgente su Ubuntu.

Installa i pacchetti iniziali per NGINX Source su Ubuntu

Aggiorna Ubuntu prima di creare NGINX

Per avviare l'installazione del sorgente NGINX su Ubuntu, inizia aggiornando e aggiornando il tuo sistema. Questo passaggio garantisce che tutti i pacchetti del sistema siano aggiornati, riducendo al minimo potenziali problemi di compatibilità.

Esegui il seguente comando nel tuo terminale per aggiornare e aggiornare il tuo sistema:

sudo apt update && sudo apt upgrade

Installazione delle dipendenze per la compilazione NGINX

Con il sistema aggiornato, il passaggio successivo prevede l'installazione delle dipendenze necessarie per la compilazione NGINX. Questi pacchetti, come compilatori e librerie, sono cruciali per creare NGINX dal sorgente.

Per installare le dipendenze richieste, eseguire il comando seguente:

sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev

Il comando installa diversi pacchetti cruciali, ciascuno dei quali svolge un ruolo specifico nel processo di compilazione NGINX:

  • build-essential: Include il compilatore GCC e gli strumenti correlati, indispensabili per compilare il software dall'origine.
  • libpcre3-dev: Fornisce librerie per il supporto delle espressioni regolari compatibili con Perl 5, fondamentali per la riscrittura degli URL e altre funzionalità NGINX.
  • libssl-dev: offre librerie per il supporto SSL/TLS, garantendo una trasmissione sicura dei dati, un aspetto chiave dei moderni servizi web.
  • zlib1g-dev: Essenziale per le funzionalità di compressione, questo pacchetto aiuta a migliorare le prestazioni e la velocità di NGINX.
  • libgd-dev: Supporta funzionalità di elaborazione delle immagini, consentendo a NGINX di eseguire direttamente manipolazioni delle immagini.

Scarica il codice sorgente NGINX su Ubuntu

Selezione della versione NGINX

Dopo aver installato le dipendenze richieste, procedi con il download del codice sorgente NGINX. Visita il sito Web NGINX per selezionare la versione adatta alle tue esigenze. Puoi scegliere tra la versione principale, stabile o qualsiasi versione specifica. Le versioni principali vengono aggiornate regolarmente con le funzionalità e i miglioramenti più recenti, mentre le versioni stabili si concentrano su una stabilità ben testata per gli ambienti di produzione.

Download del codice sorgente

A scaricare la versione selezionata di NGINX, Usa il wget comando. Questo comando ti consente di scaricare file direttamente da Internet sul tuo server. Ad esempio, per scaricare la versione mainline 1.23.3, utilizzare il seguente comando:

wget http://nginx.org/download/nginx-x.x.x.tar.gz

Nota: Sostituisci il numero di versione con la versione più recente o preferita che desideri installare. Controlla sempre il sito Web NGINX per le versioni più recenti per sfruttare le funzionalità e gli aggiornamenti di sicurezza più recenti. Ricorda, le versioni principali possono aggiornarsi ogni pochi mesi, quindi rimanere informati sulle ultime versioni è fondamentale per mantenere un ambiente server sicuro ed efficiente.

Estrai il codice sorgente NGINX

Disimballaggio del tarball NGINX

Una volta scaricato il codice sorgente NGINX, il passo successivo è estrarre i file dal tarball. Questo processo prevede la decompressione del file tar.gz per accedere al codice sorgente NGINX. Usa il tar comando con i flag appropriati per estrarre il contenuto.

Ecco come farlo, prendendo la nostra versione di esempio, NGINX 1.23.3:

tar -xzvf nginx-1.23.3.tar.gz

Questo comando è suddiviso come segue:

  • x: estrae i file.
  • z: decomprimere l'archivio utilizzando gzip.
  • v: modalità dettagliata per mostrare il processo di estrazione.
  • f: Specificare il nome file dell'archivio.

Passaggio alla directory NGINX

Dopo aver estratto i file, è necessario spostarsi nella directory in cui è stato decompresso il sorgente NGINX. Questo passaggio è fondamentale per iniziare il processo di compilazione.

Usa il cd comando per spostarsi nella directory NGINX estratta:

cd nginx-1.23.3

Configura le opzioni di build per NGINX su Ubuntu

Impostazione delle opzioni di configurazione

Quando ti prepari a creare NGINX dal sorgente, la configurazione delle opzioni di build adatta l'installazione alle tue esigenze specifiche. Utilizza il ./configure comando per impostare percorsi e abilitare vari moduli. Ecco un comando che incorpora opzioni e percorsi di configurazione comuni:

./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre  --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module

Questo comando imposta vari percorsi per i file NGINX e include moduli che migliorano la funzionalità di NGINX, come il supporto SSL e l'elaborazione HTTP/2.

Personalizzare la tua build NGINX

Quando personalizzi la tua build NGINX, il file ./configure script è uno strumento potente che consente un'ampia personalizzazione. Ecco come puoi personalizzare la tua installazione NGINX per soddisfare requisiti specifici:

Configurazioni di esempio

Per abilitare il supporto HTTP/2 e integrare la libreria PCRE, fondamentale per l'elaborazione delle espressioni regolari in NGINX, utilizzare la seguente configurazione:

./configure --with-http_v2_module --with-pcre

Se è necessario definire la directory di installazione per NGINX, è possibile impostarla utilizzando il file --prefix opzione. Ad esempio, per installare NGINX nel file /usr/local/nginx directory, il comando sarebbe:

./configure --prefix=/usr/local/nginx

Per incorporare moduli aggiuntivi come ngx_cache_purge, il --add-module entra in gioco l'opzione Per includere questo modulo, la configurazione sarebbe simile a questa:

./configure --add-module=/path/to/ngx_cache_purge

Includere librerie extra come libxslt o libssl è semplice con il file --with-XXX-module opzione. Per includere queste librerie, i rispettivi comandi sarebbero:

./configure --with-libxslt-module
./configure --with-openssl=/path/to/openssl

Per attivare moduli come SSL e il modulo IP reale, i comandi di configurazione sarebbero:

./configure --with-http_ssl_module
./configure --with-http_realip_module

Queste configurazioni dimostrano solo alcuni modi in cui puoi utilizzare ./configure script per personalizzare la tua build NGINX.

Per un elenco completo di tutte le opzioni disponibili, puoi eseguire ./configure --help. Questo comando fornisce informazioni dettagliate su tutti i flag e le opzioni che puoi utilizzare per ottimizzare la tua installazione NGINX.

Inizia il processo finale per compilare NGINX

Compilazione di NGINX

Dopo aver impostato le opzioni di configurazione per NGINX, avviare il processo di compilazione con il file make comando. Questo comando compila il codice sorgente NGINX in base ai parametri definiti nel file ./configure sceneggiatura. Il processo di compilazione comporta la creazione dell'eseguibile binario NGINX, tipicamente presente nel file objs directory.

make

Installazione di NGINX

Dopo aver compilato NGINX procedere con l'installazione utilizzando sudo make install. Questo comando installa il binario NGINX, i file di configurazione e i file aggiuntivi necessari nel percorso del prefisso specificato. Se non hai definito una posizione diversa durante la configurazione, NGINX verrà installato in /usr/local/nginx/ per impostazione predefinita.

sudo make install

Dopo l'installazione, troverai NGINX nel file sbin directory all'interno del percorso del prefisso designato, pronta per ulteriore configurazione e utilizzo.

Crea il servizio NGINX SystemD

Dopo aver creato e installato con successo NGINX dall'origine, il passaggio successivo è gestire NGINX come servizio utilizzando systemd. Ciò ti consentirà di avviare, arrestare e riavviare NGINX come qualsiasi altro servizio Ubuntu.

Creazione di un file di servizio SystemD per NGINX

Per configurare un servizio systemd per NGINX, inizia creando un nuovo file di servizio:

sudo nano /etc/systemd/system/nginx.service

In questo file, inserisci i seguenti dettagli, assicurandoti di sostituirli /path/to/nginx con il percorso effettivo del tuo binario NGINX se non si trova in /usr/sbin/nginx:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
        
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
        
[Install]
WantedBy=multi-user.target

Questa configurazione configura NGINX come servizio, definendo come dovrebbe avviarsi, arrestarsi e ricaricarsi e garantisce che venga avviato dopo che la rete è online.

Ricaricamento di SystemD per riconoscere il nuovo servizio

Dopo aver definito il servizio, aggiorna systemd per riconoscere il tuo nuovo servizio NGINX:

sudo systemctl daemon-reload

Avvio e abilitazione del servizio NGINX

Con il servizio systemd attivo, avvia il servizio NGINX:

sudo systemctl start nginx

Per garantire che NGINX si avvii automaticamente all'avvio, abilita il servizio:

sudo systemctl enable nginx

Verifica l'installazione di NGINX

Testare la funzionalità NGINX

Dopo aver installato NGINX, è fondamentale verificarne il funzionamento. È possibile accedere alla pagina di benvenuto di NGINX tramite un browser web. Utilizza l'indirizzo host locale o l'indirizzo IP del tuo server per accedere alla pagina di test NGINX.

Apri il tuo browser web e inserisci il seguente URL per accedere alla pagina di benvenuto di NGINX utilizzando localhost:

http://localhost

Utilizzo dell'indirizzo IP per la verifica

Se l'accesso all'host locale non visualizza la pagina di benvenuto di NGINX, puoi invece utilizzare l'indirizzo IP del tuo server. Sostituire 192.128.1.1 con il tuo attuale indirizzo IP del server:

http://192.128.1.1

Quando accedi a questi URL, dovresti vedere la pagina di benvenuto NGINX predefinita, che indica che NGINX è installato e funziona correttamente sul tuo server Ubuntu. Se la pagina non viene visualizzata, assicurati che NGINX sia in esecuzione e che nessuna regola del firewall blocchi l'accesso al servizio.

Ulteriori suggerimenti per la creazione di NGINX

Compilazione di NGINX con moduli aggiuntivi

Migliora le capacità di NGINX includendo moduli aggiuntivi durante il processo di compilazione. Ad esempio, se desideri aggiungere il modulo push HTTP NGINX, utilizza il file --add-module flag durante la fase di configurazione. Segui questi comandi per compilare NGINX con il modulo push HTTP:

./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install

Sostituire /path/to/nginx-http-push-module con il percorso effettivo del modulo che desideri includere.

Gestire NGINX con i comandi Systemctl

Su Ubuntu, la gestione del servizio NGINX è semplice con i comandi systemctl. Ecco come controllare il servizio NGINX utilizzando il terminale:

Avvia NGINX:

sudo systemctl start nginx

Arresta NGINX:

sudo systemctl stop nginx

Riavvia NGINX:

sudo systemctl restart nginx

Ricarica NGINX:

sudo systemctl reload nginx

Controllo dello stato NGINX

sudo systemctl status nginx

Abilita NGINX all'avvio del sistema

sudo systemctl enable nginx

Disabilita NGINX all'avvio del sistema:

sudo systemctl disable nginx

Conclusione

In questa guida, abbiamo spiegato come creare NGINX dal sorgente su Ubuntu 24.04, 22.04 e 20.04, dall'installazione dei pacchetti alla gestione del servizio. Questo processo ti consente di personalizzare NGINX con moduli aggiuntivi e controllarlo utilizzando systemctl. Mantieni il tuo NGINX aggiornato e configurato correttamente per le migliori prestazioni e sicurezza. Sperimenta le impostazioni e goditi il ​​tuo server NGINX su Ubuntu.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento


it_ITItaliano