Linux domina il campo dei server che compongono Internet. Apache, Nginx, Lighttpd, OpenLiteSpeed sono alcuni dei server web disponibili per Linux. In questo articolo parleremo di Nginx e vedremo come installarlo insieme a PHP su Debian 10.
Cos'è Nginx?
Nginx è un server Web open source per sistemi Windows, Linux, Unix e simili. È il principale concorrente di Apache. Il principale vantaggio di Nginx sono le alte prestazioni in condizioni di traffico intenso. Puoi anche usarlo come proxy inverso, cache HTTP, bilanciamento del carico e server proxy per e-mail (IMAP, POP3 e SMTP).
Il design efficiente di Nginx lo fa superare gli altri server web nei test delle prestazioni. Si adatta perfettamente ed eccelle in situazioni in cui c'è un alto livello di traffico o richieste. Questo è il motivo per cui molte aziende giganti lo utilizzano per i loro siti Web o applicazioni Web interne.
Installa Nginx su Debian
Di solito, c'è un solo server web in un sistema. Questo non è obbligatorio ma è comune. In questa guida assumeremo che il server sia pronto e non abbia subito molte modifiche. Ciò significa che non vi è alcun server web in esecuzione su di esso.
Poiché Nginx è così popolare, non sorprende che sia incluso nei repository Debian 10 ufficiali. Accedi al tuo sistema Debian ed esegui il comando seguente in sequenza per installare Nginx.
1. Controlla se Nginx è disponibile nel repository Debian
Come accennato in precedenza, Nginx dovrebbe essere disponibile nel repository Debian. Esegui il comando seguente per verificarlo.
:~$ sudo apt list nginx
Otterrai un output dello schermo simile a questo:
Cioè, installeremo la versione 1.14.2. La versione potrebbe essere leggermente precedente. Ma non dovresti preoccuparti perché è abbastanza stabile e robusto.
2. Installa Nginx
Useremo il comando apt per l'installazione. Questo comando si occupa di tutte le dipendenze durante l'installazione.
:~$ sudo apt install nginx
Inserisci la tua password per iniziare l'installazione. Alla fine, il servizio sarà attivo e abilitato all'avvio con il sistema.
Utilizza il comando seguente per avviare e arrestare il servizio Nginx utilizzando il comando systemctl
:~$ sudo systemctl stop nginx
:~$ sudo systemctl start nginx
3. Configura il firewall
È necessario configurare il firewall in modo che il server possa accettare la connessione. Apri le porte 80 e 443 usando il comando riportato di seguito
:~$ sudo ufw allow 'Nginx HTTP'
Puoi controllare lo stato usando il comando riportato di seguito
:~$ sudo ufw status
4. Metti alla prova il tuo server
Apri il browser web e digita http://INDIRIZZO-IP o http://nome-dominio per scoprire se è andato tutto bene
Dovresti vedere un'immagine come questa che indica che Nginx funziona correttamente.
Installa PHP su Debian
PHP è un linguaggio di scripting open source ampiamente utilizzato. È anche disponibile nel repository predefinito di Debian 10. Quindi non devi aggiungere alcun PPA di terze parti.
Per installare PHP e alcuni dei suoi moduli principali basta eseguire il seguente comando:
:~$ sudo apt install php7.3-fpm php7.3-common php7.3-mysql php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-soap php7.3-imap
Ora, sia Nginx che PHP sono installati correttamente, è necessario configurare Nginx per poter interpretare i file PHP. Vediamo come farlo.
Aggiunta del supporto PHP a Nginx
Vai a /var/www/html/ directory in cui i file e il sito Web vengono elaborati in Debian e cambiano il proprietario, i permessi a questa directory.
:~$ sudo chmod 755 -R /var/www/html/ :~$ sudo chown www-data:www-data -R /var/www/html/
Ciò eviterà problemi con l'esecuzione di siti Web e applicazioni.
Successivamente, è necessario apportare alcune modifiche al file di configurazione Nginx predefinito. Questo file configura le pagine e i siti Web che si trovano nella directory principale predefinita. Quindi se aggiungi un host virtuale devi creare un nuovo file di configurazione.
Quindi, modificalo.
:~$ sudo nano /etc/nginx/sites-available/default
Trova la location
sezione, il file non è molto grande, quindi lo troverai rapidamente. Quindi, lascia che sia così:
location ~ \.php$ { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; }
Salva le modifiche e chiudi l'editor.
Testa PHP con Nginx
Ora, per verificare che PHP sia interpretato da Nginx, creiamo un nuovo file contenente del codice PHP.
Quindi, nella directory principale di Nginx, creane una nuova con phpinfo
metodo.
:~$ sudo nano /var/www/html/test.php
<?php phpinfo(); ?>
Allo stesso modo, salva le modifiche e chiudi il file.
Affinché tutte le modifiche in Nginx abbiano effetto, è necessario riavviare il servizio.
:~$ sudo systemctl restart nginx
E puoi controllare lo stato del servizio con il seguente comando:
:~$ sudo systemctl status nginx
Ora apri di nuovo il tuo browser web e apri il file:
http://IP-ADDRESS/test.php or http://domain-name/test.php
Quindi, Nginx e PHP sono stati installati correttamente su Debian 10 Tutto è andato bene.
Conclusione
Con Nginx possiamo concludere che si tratta di un web server molto efficiente e soprattutto disposto a dare il massimo delle prestazioni possibili in molto traffico. Inoltre, per farlo funzionare con PHP, richiede un po' più di configurazione rispetto ad Apache, ma non è nemmeno complicato e ne vale la pena.
D'altra parte, Nginx è un programma piuttosto popolare con molta documentazione da leggere e studiare.
Ora tocca a te, ti piace Nginx? o preferisci Apache?