Ukážeme vám, jak nastavit Apache pomocí HTTP/2. HTTP/2 je první velká aktualizace protokolu HTTP od roku 1997. Hlavním cílem HTTP/2 je snížit latenci, snížit celkový počet TCP spojení a tím zvýšit rychlost načítání stránek ve webových prohlížečích. HTTP/2 je zpětně kompatibilní s HTTP/1.1, veškerá aplikační sémantika HTTP je stejná, kromě způsobu přenosu dat přes TCP spojení. HTTP/2 využívá multiplexování a umožňuje asynchronní (paralelní) požadavky a poskytuje kompresi dat HTTP hlaviček. Metoda server push v HTTP/2 také umožňuje serveru odeslat více odpovědí na jeden požadavek.
Podpora HTTP/2 není zahrnuta v Ubuntu 16.04, ani s nginx, ani s Apache, protože tato funkce je považována za experimentální projektem Apache httpd upstream, takže ji není možné povolit na Ubuntu 14.04 VPS pomocí příkazu a2enmod:
a2enmod http2 ERROR: Module http2 does not exist!
Podpora HTTP/2 by měla být povolena v Ubuntu 16.04 poté, co Apache httpd upstream považuje tuto podporu za neexperimentální.
Naštěstí je modul Http2 součástí zdrojového kódu, takže pro povolení podpory HTTP/2 na Webový server Apache:
1. Přidejte zdrojové URI
Přidejte zdrojové URI do souboru sources.list, pokud tak již není provedeno:
vi /etc/apt/sources.list
přidejte na konec následující řádky:
deb-src http://archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse deb-src http://security.ubuntu.com/ubuntu xenial-security main universe restricted multiverse deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main universe restricted multiverse
2. Stáhněte si seznamy balíčků z repozitářů
Spusťte příkaz „apt-get update“ pro stažení seznamů balíčků z repozitářů a jejich aktualizaci, abyste získali informace o nejnovějších verzích balíčků, poté aktualizujte balíčky Ubuntu 16.04 OS pomocí příkazu „apt-get upgrade“:
apt-get update apt-get upgrade
3. Předpoklady instalace
Nainstalujte požadované předpoklady:
apt-get install curl devscripts build-essential fakeroot
4. Vytvořit nového uživatele
Vytvořte nového uživatele nebo přepněte na existující uživatelský účet:
sudo adduser <username> sudo su <username>
Nahraďte
5. Nainstalujte libnghttp2-dev
Nainstalujte balíček libnghttp2-dev:
[user]$ cd ~ [user]$ sudo apt-get install libnghttp2-dev [user]$ mkdir apache2 [user]$ cd apache2
6. Stáhněte si zdroje apache2
Stáhněte si zdroje apache2 na svůj server a sestavte je:
[user]$ apt-get source apache2 [user]$ sudo apt-get build-dep apache2 [user]$ cd apache-2.4.18 [user]$ sudo apt-get install curl devscripts build-essential fakeroot [user]$ fakeroot debian/rules binary [user]$ sudo cp debian/apache2-bin/usr/lib/apache2/modules/mod_http2.so /usr/lib/apache2/modules/ [user]$ exit
7. Načtěte modul HTTP/2.
Načtěte modul HTTP/2. Vytvořte soubor /etc/apache2/mods-available/http2.load a přidejte následující řádky:
LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so <IfModule http2_module> LogLevel http2:info </IfModule>
8. Povolte a nakonfigurujte modul Apache HTTP2
Povolte modul http2:
a2enmod http2
Přidejte „Protocols h2 http/1.1“ ke každému virtuálnímu hostiteli založenému na SSL. Upravte například konfigurační soubor default-ssl:
vi /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost ServerName your-domain.com Protocols h2 http/1.1 DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule>
Nebo přidejte „Protocols h2 http/1.1“ do hlavní konfigurace Apache, abyste povolili protokol http2 na všech webech:
vi /etc/apache2/apache2.conf
Přidejte tento řádek na konec:
Protocols h2 http/1.1
9. Restartujte webový server Apache
Restartujte Apache, aby se změny projevily:
service apache2 restart
To je vše. Na vašem webovém serveru Apache byla povolena podpora HTTP/2.
Samozřejmě nemusíte nastavovat Apache s HTTP/2 na Ubuntu 16.04, pokud používáte některou z našich vysoce výkonných VPS hostingových služeb, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby nastavili Apache s podporou HTTP/2 pro tebe. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS. Pokud se vám tento příspěvek o tom, jak nastavit Apache s podporou HTTP/2 na Ubuntu 16.04, líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek níže nebo jednoduše zanechte odpověď níže. Děkuji.