GNU/Linux >> Znalost Linux >  >> Linux

Jak optimalizovat ukládání statických souborů Apache do mezipaměti na Ubuntu 18.04

Tato příručka ukazuje, jak správně nakonfigurovat nastavení vypršení platnosti záhlaví pomocí Apache a optimalizovat výkon webového serveru při poskytování statických souborů, jako jsou obrázky, soubory CSS nebo JavaScript.

Na vašem serveru bude ušetřeno velké množství šířky pásma nastavením minimálního data pro uložení souboru do mezipaměti. V důsledku toho se pomocí mezipaměti prohlížeče klienta budou hostované webové stránky načítat rychleji.

Nejprve se připojte k serveru prostřednictvím připojení SSH. Pokud jste tak ještě neučinili, doporučujeme se podle našeho průvodce bezpečně připojit pomocí SSH. V případě lokálního serveru přejděte k dalšímu kroku a otevřete terminál svého serveru.

Povolení potřebných modulů

Chcete-li povolit odesílání nezbytných záhlaví, nejprve povolte související modul Apache:

$ sudo a2enmod expires

A potom restartujte službu:

$ sudo service apache2 restart 

Konfigurace modulu

Konfiguraci modulu lze vložit do následujícího:

  • V konfiguraci Apache:bude zděděna všemi weby ovládanými Apache (virtuální i nevirtuální hostitelé)

  • V kontejneru virtuálního hostitele

  • V rámci direktivy nebo souboru .htaccess

V následujícím příkladu je vložen do výchozí konfigurace webu:

$ sudo vim /etc/apache2/sites-available/000-default.conf

Pak přidejte následující konfiguraci:

<IfModule mod_expires.c>

          <FilesMatch "\.(jpe?g|png|gif|js|css)$">

                      ExpiresActive On

                      ExpiresDefault "access plus 1 week"

          </FilesMatch>

</IfModule>

Prostřednictvím direktivy FilesMatch se specifikují, které soubory by měl klientský prohlížeč uchovávat (v tomto případě css, jpg, png, gif a js).hile, prostřednictvím ExpiresDefault, jak dlouho by měly být uchovávány (v tomto příkladu týden) pro je uvedeno.

Chcete-li použít změny, restartujte Apache:

$ sudo service apache2 restart 

Kromě metod FilesMatch a ExpiresDefault lze ExpiresByType použít k nastavení konce platnosti záhlaví pro každý typ souboru, například:

<IfModule mod_expires.c>

 ExpiresActive on
 ExpiresByType image/jpg "access plus 60 days"
 ExpiresByType image/png "access plus 60 days"
 ExpiresByType image/gif "access plus 60 days"
 ExpiresByType image/jpeg "access plus 60 days"
 ExpiresByType text/css "access plus 1 days"
 ExpiresByType image/x-icon "access plus 1 month"
 ExpiresByType application/pdf "access plus 1 month"
 ExpiresByType text/javascript "access plus 1 week"

</IfModule>

Pomocí této metody lze získat podrobnější kontrolu nad trváním mezipaměti a ukládáním dat Ajax do mezipaměti tím, že nevložíte aplikaci/javascript typu mime.

Pro obě direktivy je syntaxe indikující dobu trvání mezipaměti stejná, to znamená:

“[base] plus [valore] [tipo] [valore] [tipo] [valore] [tipo] …”

Základní hodnota může být:

  • přístup:datum požadavku klienta

  • úprava:datum změny souboru

I když typ může mít následující hodnoty:

  • roky:roky

  • měsíce:měsíce

  • týdny:týdny

  • dny:dny

  • hodiny:hodiny

  • minuty:minuty

  • sekundy:sekundy

Některé příklady konfigurace:

# One year cache expiry 
ExpiresByType image/jpeg "access plus 1 year"

#Furthermore, more than one unit of measurement in sequence can be added. For example:

# Set 1-month, 15- day and 2-hour expiry
ExpiresByType text/html "access plus 1 month 15 days 2 hours"

# Cache expiry from the file modification date more than 5 hours and 3 minutes 
ExpiresByType image/gif "modification plus 5 hours 3 minutes"

Mějte na paměti, že pokud musíte změnit obsah souboru uloženého v mezipaměti, klienti jej nestahují, dokud nevyprší čas ukládání do mezipaměti. To by mohlo způsobit poruchy na vašich webových stránkách.

Přestože klienty nelze přinutit ignorovat dříve uloženou mezipaměť, lze tomuto problému předejít několika technikami.

Často používanou metodou je přejmenování právě upraveného souboru (například ze style.css na styl-v2.css) nebo změna odkazů přidáním čísla verze, například z:

<script src="https://www.domain.com/js/myScript1.js"></script>

na následující:

<script src="https://www.domain.com/js/myScript1.js?v=3.1"></script>

Linux
  1. Jak nainstalovat Apache na Ubuntu?

  2. Jak optimalizovat ukládání statických souborů Apache do mezipaměti na Ubuntu 18.04

  3. Jak nainstalovat g ++ na Ubuntu

  1. VIM:jak přejít na přesnou linku na Ubuntu

  2. Doba přístupu k souboru se v ubuntu 12.04 neaktualizuje

  3. Jak zablokovat přístup k souboru, aby nebyl obsluhován službou Tomcat?

  1. Ubuntu – Jak nastavit statickou IP v Ubuntu?

  2. Filtrujte a optimalizujte požadavky na statické soubory pomocí NGINX na Ubuntu 18.04

  3. Jak nainstalovat Apache Cassandra na Ubuntu 20.04