SPDY (vyslovováno „SPeeDY“) je nový síťový protokol, jehož cílem je zrychlit web. Je to alternativa společnosti Google k protokolu HTTP a kandidát na HTTP/2.0. SPDY rozšiřuje HTTP o několik funkcí souvisejících s rychlostí, jako je streamování multiplexování a komprese záhlaví. Chcete-li používat SPDY, potřebujete webový server a prohlížeč (jako Google Chrome a nadcházející verze Firefoxu), které podporují SPDY. mod_spdy je open-source modul Apache, který přidává podporu protokolu SPDY k serveru Apache HTTPD. Tento tutoriál vysvětluje, jak používat mod_spdy s Apache2 na Ubuntu 12.10.
1 předběžná poznámka
SPDY běží přes HTTPS, takže k testování SPDY potřebujeme webovou stránku podporující HTTPS. Vezměte prosím na vědomí, že SPDY se vrátí k HTTPS, pokud prohlížeč uživatele nepodporuje SPDY nebo pokud se něco pokazí, takže instalace mod_spdy nepoškodí vaše stávající nastavení.
Předpokládám, že máte funkční nastavení LAMP, jak je popsáno v části Instalace Apache2 s podporou PHP5 a MySQL na Ubuntu 12.10 (LAMP).
Pro testovací účely jednoduše povolím výchozí webovou stránku SSL, která je dodávána s balíčkem Apache Ubuntu (nemusíte to dělat, pokud již máte webovou stránku SSL na svém serveru).
Chcete-li povolit SSL, stačí spustit:
a2enmod ssl
Chcete-li povolit výchozí webovou stránku SSL, spusťte:
a2ensite default-ssl
Poté restartujte Apache:
/etc/init.d/apache2 restart
Přejděte na adresu URL výchozí webové stránky SSL (např. https://www.example.com) a otestujte, zda funguje (zde používám výchozí certifikát podepsaný svým držitelem, proto mám upozornění na certifikát, ale toto nemá vliv na používání SPDY):
2 Instalace mod_spdy
Google poskytuje balíčky Debian/Ubuntu pro mod_spdy na https://developers.google.com/speed/spdy/mod_spdy/. Jednoduše si stáhněte ten správný pro vaši architekturu (32- nebo 64bitový) na váš server...
64bitová verze:
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_amd64.deb
32bitová verze:
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.deb
... a nainstalujte jej následovně:
dpkg -i mod-spdy-*.deb
apt-get -f install
(Tím také přidáte repozitář Google mod_spdy do zdrojů apt, takže modul bude stále aktuální:
cat /etc/apt/sources.list.d/mod-spdy.list
### THIS FILE IS AUTOMATICALLY CONFIGURED ### # You may comment out this entry, but any other modifications may be lost. deb http://dl.google.com/linux/mod-spdy/deb/ stable main |
)
Poté restartujte Apache:
/etc/init.d/apache2 restart
Dobrá věc je, že mod_spdy nepotřebuje žádnou konfiguraci, funguje hned po vybalení!
(Ve skutečnosti existuje konfigurační soubor /etc/apache2/mods-available/spdy.conf, ale výchozí nastavení by mělo být v pořádku.
cat /etc/apache2/mods-available/spdy.conf
<IfModule spdy_module> # Turn on mod_spdy. To completely disable mod_spdy, you can set # this to "off". SpdyEnabled on # In order to support concurrent multiplexing of requests over a # single connection, mod_spdy maintains its own thread pool in # each Apache child process for processing requests. The default # size of this thread pool is very conservative; you can override # it with a larger value (as below) to increase concurrency, at # the possible cost of increased memory usage. # #SpdyMaxThreadsPerProcess 30 # Memory usage can also be affected by the maximum number of # simultaneously open SPDY streams permitted for each client # connection. Ideally, this limit should be set as high as # possible, but you can tweak it as necessary to limit memory # consumption. # #SpdyMaxStreamsPerConnection 100 </IfModule> |
Další informace o možnostech konfigurace najdete na https://developers.google.com/speed/spdy/mod_spdy/install.
)
3 Testování
Nyní otestujeme, zda SPDY funguje. Potřebujeme prohlížeč s podporou SPDY. např. Google Chrome. Otevřete Chrome a znovu načtěte svou webovou stránku SSL (např. https://www.example.com) – je důležité, abyste ji znovu načetli, aby mohla používat SPDY (při prvním načtení v kapitole 1 používala normální HTTPS). Poté otevřete novou kartu a zadejte adresu URL
chrome://net-internals/#spdy
Pokud vše proběhlo v pořádku, váš SSL vhost by měl být nyní uveden v tabulce, což znamená, že podpora SPDY funguje.
(Vzhledem k záložnímu mechanismu SPDY k HTTPS bude váš SSL vhost stále fungovat v jakémkoli jiném prohlížeči, který nepodporuje SPDY.)
4 odkazy
- SPDY:https://developers.google.com/speed/spdy/
- Apache mod_spdy:http://code.google.com/p/mod-spdy/
- Binární balíčky mod_spdy:https://developers.google.com/speed/spdy/mod_spdy/
- Konfigurace mod_spdy:https://developers.google.com/speed/spdy/mod_spdy/install
- Apache:http://httpd.apache.org/
- Ubuntu:http://www.ubuntu.com/