Įdiekite „Mod_Pagespeed“, kad pagreitintumėte „Apache“ ir „Nginx“ našumą iki 10 kartų


Tai yra tęstinė „Apache“ optimizavimo ir našumo derinimo serija. Čia pristatome naują „Google“ produktą, vadinamą mod_pagespeed moduliu, skirtu „Apache“ arba „Nginx“, kuris leidžia svetainę įkelti daug greičiau nei bet kada.

Aš asmeniškai išbandžiau šį modulį mūsų „Live“ (linux-console.net) serveryje ir rezultatai yra nuostabūs, dabar svetainė įkeliama daug greičiau nei anksčiau. Aš rekomenduoju jums visiems jį įdiegti ir pamatyti rezultatus.

Šiame straipsnyje mes jums parodysime, kaip įdiegti ir konfigūruoti „Google“ mod_pagespeed modulį „Apache“ ir „Nginx“ žiniatinklio serveriams RHEL/CentOS/Fedora ir Debian/Ubuntu sistemose naudojant oficialius dvejetainius paketus, kad jūsų sistema automatiškai gautų nuolatinius atnaujinimus ir liktų atnaujinta.

Kas yra „Mod_PageSpeed“

mod_pagespeed yra „Apache“ ir „Nginx“ žiniatinklio serverio atvirojo kodo modulis, kuris automatiškai optimizuoja tinklalapius, kad pagerintų našumą teikiant tinklalapius naudojant HTTP serverį.

Jame yra keli filtrai, kurie automatiškai optimizuoja failus, tokius kaip HTML, CSS, „JavaScript“, JPEG, PNG ir kitus išteklius.

„mod_pagespeed“ yra sukurtas „PageSpeed Optimization Libraries“ bibliotekose, dislokuotose daugiau nei 100 000 svetainių ir kurias teikia populiariausi CDN ir prieglobos paslaugų teikėjai, pvz., „GoDaddy“, „EdgeCast“, „DreamHost“, ir tik keli.

Jis siūlo daugiau nei 40 ir daugiau optimizavimo filtrų, kurie apima:

  1. Vaizdo optimizavimas, glaudinimas ir dydžio keitimas
  2. CSS ir „JavaScript“ sujungimas, suskaidymas ir įtraukimas
  3. Talpyklos plėtinys, domeno dalijimas ir perrašymas
  4. Atidėtas JS ir vaizdo išteklių įkėlimas
  5. ir daugelis kitų ...

Šiuo metu mod_pagespeed modulio palaikomos „Linux“ platformos yra RHEL/CentOS/Fedora ir Debian/Ubuntu 32 bitų ir 64 bitų paskirstymams.

Mod_Pagespeed modulio diegimas sistemoje „Linux“

Kaip jau minėjau aukščiau, mes naudojame oficialius „Google“ dvejetainius paketus, kad jį įdiegtume būsimiems naujinimams, todėl eikime į priekį ir įdiekite jį į savo sistemas, atsižvelgdami į savo OS architektūrą.

----------- On 32-bit Systems -----------------
# wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
# yum install at   [# if you don't already have 'at' installed]
# rpm -Uvh mod-pagespeed-stable_current_i386.rpm

----------- On 64-bit Systems -----------------
# wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
# yum install at   [# if you don't already have 'at' installed]
# rpm -Uvh mod-pagespeed-stable_current_x86_64.rpm
----------- On 32-bit Systems -----------------
$ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
$ sudo dpkg -i mod-pagespeed-stable_current_i386.deb
$ sudo apt-get -f install

----------- On 64-bit Systems -----------------
$ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
$ sudo dpkg -i mod-pagespeed-stable_current_amd64.deb
$ sudo apt-get -f install

Įdiegę mod_pagespeed iš dvejetainių paketų, prie savo sistemos pridėsite oficialią „Google“ saugyklą, kad galėtumėte automatiškai atnaujinti mod_pagespeed naudodami paketų tvarkyklę, vadinamą yum arba apt.

Kas yra „Mode_Pagespeed“ įdiegta

Pažiūrėkime, kokie paketai mod_pagespeed įdiegti sistemoje:

  1. Ji įdiegs du modulius - mod_pagespeed.so, skirtą „Apache 2.2“, ir mod_pagespeed_ap24.so, skirtą „Apache 2.4“.
  2. Ji įdiegs du pagrindinius konfigūracijos failus: pagespeed.conf ir pagespeed_libraries.conf (skirta „Debian“ puslapiams spe.load). Pakeitę vieną iš šių konfigūracijos failų, būsimų naujinių nebegausite automatiškai.
  3. Atskiras „JavaScripto minifikatorius“ pagespeed_js_minify, naudojamas JS susilpninti ir sukurti bibliotekos kanonizavimo metaduomenis.

Apie „Mod_Pagespeed“ konfigūraciją ir katalogus

Modulis leidžia automatiškai stebėti konfigūracijos failus ir katalogus diegimo metu.

  1. /etc/cron.daily/mod-pagespeed: mod_pagespeed cron scenarijus, skirtas patikrinti ir įdiegti naujausius naujinimus.
  2. /etc/httpd/conf.d/pagespeed.conf: pagrindinis „Apache“ konfigūracijos failas RPM pagrįstuose paskirstymuose.
  3. /etc/apache2/mods-enabled/pagespeed.conf: pagrindinis „Apache2“ konfigūracijos failas DEB pagrįstuose paskirstymuose.
  4. pagespeed_libraries.conf: numatytasis „Apache“ bibliotekų rinkinys įkeliamas paleidus „Apache“.
  5. /usr/lib{lib64}/httpd/modules/mod_pagespeed.so: mod_pagespeed „Apache“ modulis.
  6. /var/cache/mod_pagespeed: svetainių failų talpyklos katalogas.

Svarbu: „Nginx“ mod_pagespeed konfigūracijos failai paprastai randami/usr/local/nginx/conf/kataloge.

Konfigūruoti „Mod_Pagespeed“ modulį

„Apache“ mod_pagespeed automatiškai įsijungia įdiegus, o „Nginx“ turite įdėti šias eilutes į savo „nginx.conf“ failą ir į kiekvieną serverio bloką, kuriame įgalinta „PageSpeed“:

pagespeed on;

# Needs to exist and be writable by nginx.  Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;

# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

Galiausiai nepamirškite iš naujo paleisti „Apache“ arba „Nginx“ serverio, kad „mod_pagespeed“ pradėtų tinkamai veikti.

4 veiksmas: patikrinkite „Mod_Pagespeed“ modulį

Norėdami patikrinti mod_pagespeed modulį, naudosime curl komandą, kad išbandytume domeną ar IP, kaip parodyta:

# curl -D- http://192.168.0.15/ | less
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
...
X-Mod-Pagespeed: 1.9.32.13-0
---
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: nginx/1.4.0
...
X-Page-Speed: 1.5.27.1-2845
...

Jei nematote „X-Mod-Pagespeed“ antraštės, tai reiškia, kad mod_pagespeed iš tikrųjų nėra įdiegtas.

Jei nenorite visiškai naudoti mod_pagespeed, galite išjungti įterpdami šią eilutę į failą pagespeed.conf viršuje.

ModPagespeed off

Panašiai, norėdami įjungti modulį, įterpkite šią eilutę į failą pagespeed.conf viršuje.

ModPagespeed on

Kaip sakiau aukščiau, įdiegus mod_pagespeed, mūsų svetainė įkeliama 40–50% greičiau. Mes tikrai norėtume sužinoti apie jūsų svetainės greitį, įdiegę ją savo sistemose komentarais.

Norėdami gauti daugiau informacijos apie konfigūraciją, galite apsilankyti oficialiame mod_pagespeed puslapyje šiuo adresu: https://developers.google.com/speed/pagespeed/module/.