Nginx e Apache sono entrambi server Web gratuiti, open source e più popolari in tutto il mondo. Apache è noto per la sua potenza mentre Nginx è noto per la sua velocità. Entrambi hanno alcuni pro e contro. Nginx è utile per il contenuto statico mentre Apache è per il contenuto dinamico. Se combiniamo entrambi i server, otterremo un risultato migliore l'uno dall'altro.
In questo tutorial, configurerò Apache come server back-end e userò Nginx come proxy inverso per Apache su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Sul server è configurata una password di root.
Per iniziare
Prima di iniziare, si consiglia di aggiornare la cache dei pacchetti del sistema all'ultima versione. Puoi aggiornarlo usando il seguente comando:
apt-get update -y
Dopo aver aggiornato la cache del pacchetto, installa le altre dipendenze richieste utilizzando il comando seguente:
apt-get install gnupg2 curl -y
Una volta installate tutte le dipendenze necessarie, puoi procedere al passaggio successivo.
Installa e configura Apache
In questa sezione installeremo il server web Apache e lo configureremo per l'esecuzione sulla porta 8000 .
Innanzitutto, installa il server web Apache usando il seguente comando:
apt-get install apache2 -y
Una volta installato Apache, modifica il file di configurazione della porta di Apache:
nano /etc/apache2/ports.conf
Modifica la porta predefinita di Apache da 80 a 8000 :
Listen 8000
Salva e chiudi il file, quindi modifica il file di configurazione predefinito di Apache:
nano /etc/apache2/sites-enabled/000-default.conf
Modifica la porta predefinita da 80 a 8000 come mostrato di seguito:
<VirtualHost *:8000>
Salva e chiudi il file, quindi ricarica il servizio Apache per applicare le modifiche:
systemctl restart apache2
Ora apri il tuo browser web e accedi alla pagina di test di Apache utilizzando l'URL http://your-server-ip:8000 . Dovresti vedere la pagina di test predefinita di Apache nella schermata seguente:
Installa e configura Nginx
Ora installeremo e configureremo Nginx come proxy inverso per passare le richieste in arrivo al server Apache.
Innanzitutto, installa Nginx con il seguente comando:
apt-get install nginx -y
Una volta installato Nginx, modifica il file di configurazione dell'host virtuale predefinito di Nginx con il seguente comando:
nano /etc/nginx/sites-enabled/default
Rimuovi tutte le righe e aggiungi le seguenti righe:
server { listen 80; index index.php index.html index.htm; server_name your-server-ip; location / { proxy_pass http://localhost:8000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Salva e chiudi il file, quindi verifica Nginx per eventuali errori di sintassi con il seguente comando:
nginx -t
Quindi, ricarica il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Verifica server web Nginx
A questo punto, Nginx è installato e configurato per passare tutte le richieste al server di backend Apache. Ora puoi aprire il tuo browser web e digitare l'URL http://your-server-ip . Dovresti vedere la pagina predefinita del server web Apache nella schermata seguente:
Conclusione
Congratulazioni! hai installato e configurato correttamente Nginx come proxy inverso per Apache. Ora puoi utilizzare questa configurazione nell'ambiente di produzione per velocizzare le prestazioni del tuo sito web.