GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak nastavit Apache s HTTP/2 na Ubuntu 16.04

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 skutečným uživatelským jménem.

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.


Panels
  1. Jak nastavit bránu firewall s UFW na Ubuntu 16.04

  2. Jak nainstalovat Odoo 10 na Ubuntu 16.04 s Apache jako reverzní proxy

  3. Jak nastavit Nginx s podporou HTTP/2 na Debianu 9

  1. Jak nainstalovat Odoo 12 na Ubuntu 18.04 s Apache jako reverzní proxy

  2. Jak nainstalovat Odoo 14 na Ubuntu 20.04 s Apache jako reverzní proxy

  3. Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

  1. Jak nastavit virtuální hostitele Apache na Ubuntu 18.04

  2. Jak nastavit bránu firewall s UFW na Ubuntu 20.04

  3. Jak nainstalovat Magento 2.4 s OpenLiteSpeed ​​na Ubuntu 20.04