HTTP/2でApacheを設定する方法を紹介します。 HTTP / 2は、1997年以来の最初の主要なHTTPプロトコルアップデートです。HTTP/ 2の主な目標は、レイテンシーを減らし、TCP接続の総数を減らし、Webブラウザーでのページの読み込み速度を向上させることです。 HTTP/2はHTTP/1.1と下位互換性があり、TCP接続を介してデータを送信する方法を除いて、HTTPのすべてのアプリケーションセマンティクスは同じです。 HTTP / 2は多重化を活用し、非同期(並列)リクエストを可能にし、HTTPヘッダーのデータ圧縮を提供します。また、HTTP / 2のサーバープッシュメソッドを使用すると、サーバーは1つのリクエストに対して複数の応答を送信できます。
HTTP /2サポートはUbuntu16.04に含まれていません。この機能は、Apache httpdアップストリームプロジェクトによって実験的なものと見なされているため、nginxにもApacheにも含まれていません。したがって、a2enmodコマンドを使用してUbuntu14.04VPSでHTTP/2サポートを有効にすることはできません。
a2enmod http2 ERROR: Module http2 does not exist!
Apache httpdアップストリームがこのサポートを非実験的であると見なした後、Ubuntu16.04でHTTP/ 2サポートを有効にする必要があります。
幸いなことに、Http2モジュールはソースに含まれているため、次の手順に従ってHTTP/2サポートを有効にします。 Apache Webサーバー:
1。ソースURIを追加する
まだ追加されていない場合は、sources.listファイルにソースURIを追加します。
vi /etc/apt/sources.list
最後に次の行を追加します:
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。リポジトリからパッケージリストをダウンロードします
「apt-getupdate」コマンドを実行してリポジトリからパッケージリストをダウンロードし、それらを更新してパッケージの最新バージョンに関する情報を取得してから、「apt-getupgrade」コマンドを使用してUbuntu16.04OSパッケージを更新します。
apt-get update apt-get upgrade
3。前提条件をインストールする
必要な前提条件をインストールします:
apt-get install curl devscripts build-essential fakeroot
4。新しいユーザーを作成する
新しいユーザーを作成するか、既存のユーザーアカウントに切り替えます:
sudo adduser <username> sudo su <username>
5。 libnghttp2-devをインストールします
libnghttp2-devパッケージをインストールします:
[user]$ cd ~ [user]$ sudo apt-get install libnghttp2-dev [user]$ mkdir apache2 [user]$ cd apache2
6。 apache2ソースをダウンロードする
サーバーにapache2ソースをダウンロードしてビルドします:
[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。 HTTP/2モジュールをロードします。
HTTP/2モジュールをロードします。ファイル/etc/apache2/mods-available/http2.loadを作成し、次の行を追加します。
LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so <IfModule http2_module> LogLevel http2:info </IfModule>
8。 ApacheHTTP2モジュールを有効にして構成します
http2モジュールを有効にします:
a2enmod http2
「プロトコルh2http/1.1」を各SSLベースの仮想ホストに追加します。たとえば、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>
または、「プロトコルh2 http / 1.1」をメインのApache構成に追加して、すべてのWebサイトでhttp2を有効にします。
vi /etc/apache2/apache2.conf
最後にこの行を追加します:
Protocols h2 http/1.1
9。 ApacheWebサーバーを再起動します
変更を有効にするには、Apacheを再起動します。
service apache2 restart
それだ。 ApacheWebサーバーでHTTP/2サポートが有効になっています。
もちろん、Ubuntu16.04でHTTP/ 2を使用してApacheを設定する必要はありません。高性能VPSホスティングサービスのいずれかを使用している場合は、専門のLinux管理者にApacheの設定を依頼するだけです。 HTTP/2サポート付き あなたのために。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS。 この投稿が気に入った場合は、Ubuntu16.04でHTTP/ 2サポートを使用してApacheを設定する方法について、下のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。