GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit mezipaměť Nginx na serveru LAMP

Apache je jedním z nejspolehlivějších a nejvýkonnějších dostupných webových serverů. Apache je open-source, vysoce přizpůsobitelný a je dodáván s mnoha moduly, které vám umožňují přidat další funkce. Je známý svou silou a je speciálně navržen pro malé až středně velké weby.

Používání Apache souběžně s Nginx a FastCGI Cache vám umožní získat to nejlepší z obou světů. Toto nastavení zlepší výkon vašeho webového serveru s využitím silných stránek obou webových serverových aplikací. Mezipaměť Nginx FastCGI funguje tak, že ukládá kopie souborů do mezipaměti, takže k nim lze rychleji přistupovat.

V tomto tutoriálu vám ukážeme, jak nastavit mezipaměť Nginx FastCGI se serverem LAMP na Ubuntu 18.04. Nakonfigurujeme Apache jako backend server a Nginx jako frontend server s FastCGI Cache.

Předpoklady

  • Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net
  • Heslo uživatele root nakonfigurované na vašem serveru

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace serveru 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

Jakmile jsou všechny balíčky nainstalovány, budete muset povolit některé požadované moduly Apache, aby Apache mohl pracovat s PHP-FPM.

Můžete je povolit pomocí následujícího příkazu:

a2enmod actions fcgid alias proxy_fcgi

Poté restartujte službu Apache, aby se změny projevily.

systemctl restart apache2

Krok 3 – Vytvořte ukázkový web

Nejprve vytvořte adresář pro svůj web pomocí následujícího příkazu:

mkdir /var/www/html/example.com

Dále vytvořte ukázkový soubor info.php v adresáři vašeho webu:

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

Přidejte následující řádky:

<?php phpinfo(); ?>

Uložte a zavřete soubor a poté změňte vlastnictví svého webu na www-data user:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Krok 4 – Konfigurace webového serveru Apache

nano /etc/apache2/ports.conf

Změňte řádek z „Listen 80“ na „Listen 8088“:

Listen 8088

Po dokončení uložte a zavřete soubor, poté deaktivujte výchozí soubor virtuálního hostitele Apache pomocí následujícího příkazu:

a2dissite 000-default.conf

Poté restartujte webový server Apache, aby se změny implementovaly.

systemctl restart apache2

Dále vytvořte nový konfigurační soubor virtuálního hostitele, který bude sloužit vašemu webu:

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

Přidejte následující obsah:

<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>

Po dokončení uložte a zavřete soubor a poté povolte konfigurační soubor virtuálního hostitele Apache pomocí následujícího příkazu:

a2ensite example.com.conf

Poté restartujte službu Apache, aby se změny projevily:

systemctl restart apache2

V tomto okamžiku je webový server Apache nakonfigurován a naslouchá na localhost na portu 8088.

Krok 5 – Nakonfigurujte Nginx jako reverzní proxy s mezipamětí FastCGI

V této části nakonfigurujeme Nginx jako reverzní proxy pro webový server Apache a povolíme mezipaměť FastCGI.

Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:

apt-get install nginx -y

Po instalaci vytvořte nový konfigurační soubor virtuálního hostitele Nginx:

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

Přidejte následující obsah:

# 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;

}
}

Po dokončení uložte a zavřete soubor a poté povolte soubor virtuálního hostitele Nginx pomocí následujícího příkazu:

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

Poté restartujte službu Nginx, aby se změny projevily:

systemctl restart nginx

Krok 6 – Otestujte mezipaměť Nginx FastCGI

V tomto okamžiku je Nginx nainstalován a nakonfigurován jako reverzní proxy pro Apache s podporou FastCGI Cache. Je čas ověřit, zda ukládání do mezipaměti funguje nebo ne.

Otevřete webový prohlížeč a přejděte na webový server Nginx pomocí adresy URL http://example.com a stránku několikrát znovu načtěte.

Dále otevřete svůj terminál a spusťte následující příkaz k načtení záhlaví odpovědi http.

curl -I http://example.com

Měli byste získat následující výstup:

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

Z výše uvedeného výstupu X-Cache:HIT označuje, že odpověď byla doručena z mezipaměti.

Závěr

Ve výše uvedené příručce jsme nainstalovali a nakonfigurovali webový server Apache jako backend server a Nginx jako frontend server s mezipamětí FastCGI. Doufejme, že toto nastavení výrazně zlepší výkon vašeho webového serveru. Začněte s ukládáním do mezipaměti FastCGI na vašem serveru LAMP s VPS hostingem od Atlantic.Net ještě dnes!


Linux
  1. Jak nastavit bloky serveru Nginx v Ubuntu 18.04 LTS

  2. Jak nastavit WordPress na serveru Ubuntu s Apache

  3. Jak nainstalovat LAMP Server na Debian 11

  1. Jak nastavit Apache jako frontend proxy pro Node.js

  2. Jak nainstalovat LAMP Server na CentOS 8

  3. Jak nainstalovat Nginx na Ubuntu 14.04

  1. Jak nainstalovat Apache ve FreeBSD

  2. Jak nainstalovat Nginx v Debianu 7

  3. Jak nainstalovat Apache ve Fedoře 20