GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare la cache Nginx su un server LAMP

Apache è uno dei server web più affidabili e potenti disponibili. Apache è open source, altamente personalizzabile e viene fornito con molti moduli che consentono di aggiungere funzionalità aggiuntive. È noto per la sua potenza ed è appositamente progettato per siti Web di piccole e medie dimensioni.

L'utilizzo di Apache in parallelo con Nginx e FastCGI Cache ti consente di ottenere il meglio da entrambi i mondi. Questa configurazione migliorerà le prestazioni del tuo server web utilizzando i punti di forza di entrambe le applicazioni del server web. La cache di Nginx FastCGI funziona archiviando copie di file in una cache in modo da potervi accedere più rapidamente.

In questo tutorial, ti mostreremo come configurare la cache Nginx FastCGI con LAMP Server su Ubuntu 18.04. Configureremo Apache come server back-end e Nginx come server front-end con FastCGI Cache.

Prerequisiti

  • Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Fase 2 – Installa il server LAMP

First, install the Apache web server, PHP, PHP-FPM and other modules with the following command:

apt-get install apache2 php php-fpm libapache2-mod-php7.2 libapache2-mod-fcgid -y

Una volta installati tutti i pacchetti, dovrai abilitare alcuni moduli Apache richiesti in modo che Apache possa funzionare con PHP-FPM.

Puoi abilitarli con il seguente comando:

a2enmod actions fcgid alias proxy_fcgi

Quindi, riavvia il servizio Apache per applicare le modifiche.

systemctl restart apache2

Fase 3:crea un sito Web di esempio

Innanzitutto, crea una directory per il tuo sito Web con il seguente comando:

mkdir /var/www/html/example.com

Quindi, crea un file info.php di esempio all'interno della directory del tuo sito Web:

nano /var/www/html/example.com/info.php

Aggiungi le seguenti righe:

<?php phpinfo(); ?>

Salva e chiudi il file, quindi cambia la proprietà del tuo sito web in www-data user:

chown -R www-data:www-data /var/www/html/example.com
chmod -R 755 /var/www/html/example.com

Una volta terminato, puoi procedere al passaggio successivo.

Fase 4:configurare il server Web Apache

nano /etc/apache2/ports.conf

Cambia la riga da "Ascolta 80" a "Ascolta 8088":

Listen 8088

Salva e chiudi il file al termine, quindi disabilita il file host virtuale predefinito di Apache con il seguente comando:

a2dissite 000-default.conf

Quindi, riavvia il server Web Apache per implementare le modifiche.

systemctl restart apache2

Quindi, crea un nuovo file di configurazione dell'host virtuale per servire il tuo sito web:

nano /etc/apache2/sites-available/example.com.conf

Aggiungi il seguente contenuto:

<VirtualHost 127.0.0.1:8088>
ServerName 127.0.0.1
ServerAdmin [email protected]
DocumentRoot /var/www/html/example.com
DirectoryIndex info.php

<FilesMatch \.php$>
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
</FilesMatch>

<Directory /var/www/html/>
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
</VirtualHost>

Salva e chiudi il file al termine, quindi abilita il file di configurazione dell'host virtuale Apache con il seguente comando:

a2ensite example.com.conf

Quindi, riavvia il servizio Apache per applicare le modifiche:

systemctl restart apache2

A questo punto, il web server Apache è configurato ed è in ascolto su localhost sulla porta 8088.

Passaggio 5:configura Nginx come proxy inverso con FastCGI Cache

In questa sezione, configureremo Nginx come proxy inverso per il server Web Apache e abiliteremo FastCGI Cache.

Innanzitutto, installa il server web Nginx con il seguente comando:

apt-get install nginx -y

Una volta installato, crea un nuovo file di configurazione dell'host virtuale Nginx:

nano /etc/nginx/sites-available/example.com.conf

Aggiungi il seguente contenuto:

# Enable FastCGI Support
proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=nginxcache:100m max_size=1g inactive=60m use_temp_path=off;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
add_header X-Cache $upstream_cache_status;

server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location = /favicon.ico { access_log off; log_not_found off; }
set $skip_cache 0;

#Disable caching for login session, user cookie, POST request, query string, site map and feeds
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}

# Enable caching for your website.
location / {
proxy_pass http://127.0.0.1:8088;
proxy_set_header Host $host;
proxy_buffering on;
proxy_cache nginxcache;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 
http_503 http_504;
proxy_cache_valid 200 301 302 60m;
proxy_cache_min_uses 1;
proxy_cache_lock on;

}
}

Salva e chiudi il file al termine, quindi abilita il file host virtuale Nginx con il seguente comando:

ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Quindi, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Passaggio 6:prova Nginx FastCGI Cache

A questo punto, Nginx è installato e configurato come proxy inverso per Apache con supporto FastCGI Cache. È ora di verificare se la memorizzazione nella cache funziona o meno.

Apri il tuo browser web e accedi al tuo server web Nginx utilizzando l'URL http://example.com e ricarica la pagina per alcune volte.

Quindi, apri il tuo terminale ed esegui il seguente comando per recuperare l'intestazione della risposta http.

curl -I http://example.com

Dovresti ottenere il seguente output:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 24 Apr 2020 17:01:42 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Cache: HIT

Dall'output sopra, X-Cache:HIT indica che la risposta è stata fornita dalla cache.

Conclusione

Nella guida sopra, abbiamo installato e configurato il server web Apache come server back-end e Nginx come server front-end con memorizzazione nella cache FastCGI. Si spera che questa configurazione migliori notevolmente le prestazioni del tuo server web. Inizia oggi stesso con la memorizzazione nella cache FastCGI sul tuo server LAMP con l'hosting VPS di Atlantic.Net!


Linux
  1. Come configurare i blocchi del server Nginx in Ubuntu 18.04 LTS

  2. Come configurare WordPress su Ubuntu Server con Apache

  3. Come installare il server LAMP su Debian 11

  4. Come configurare Apache come proxy frontend per Node.js

  5. Come installare il server LAMP su CentOS 8

Come installare LAMP (Apache, MariaDB, PHP) su un Cloud Server CentOS 7.2

Come installare NGINX su Ubuntu 20.04

Come impostare l'autenticazione della password con Apache su Ubuntu 18.04

Come configurare la cache Nginx sul server LEMP

Come configurare un server NGINX RTMP per lo streaming

Come configurare Nginx come loadbalancer per Apache o Tomcat per HTTP/HTTPS