GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Ubuntu16.04でHTTP/2を使用してApacheを設定する方法

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を設定する方法について、下のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Panels
  1. リバースプロキシとしてApacheを使用してUbuntu18.04にOdoo12をインストールする方法

  2. リバースプロキシとしてApacheを使用してUbuntu20.04にOdoo14をインストールする方法

  3. Apacheを使用してUbuntu20.04にLet’sEncryptをインストールする方法

  1. Ubuntu16.04でUFWを使用してファイアウォールを設定する方法

  2. Ubuntu20.04にOpenLiteSpeedを使用してMagento2.4をインストールする方法

  3. Debian9でHTTP/2サポートを使用してNginxを設定する方法

  1. Ubuntu18.04でApache仮想ホストを設定する方法

  2. Ubuntu20.04でUFWを使用してファイアウォールを設定する方法

  3. リバースプロキシとしてApacheを使用してUbuntu16.04にOdoo10をインストールする方法