HTTP/2 に対応した高速 Web サーバー「H2O」をインストールします。
今回は外部リポジトリを活用して yum インストールを行います。
本手順で使用したサーバー環境は以下の通りです。
- CentOS 7.5
- H2O
H2O のリポジトリを yum に追加する
CentOS 7.5 の標準リポジトリでは H2O をインストールできません。
非公式ではあるものの公認されているリポジトリ bintray-tatsushid-h2o
を使用します。
yum のリポジトリファイルを新規作成します。
# vi /etc/yum.repos.d/bintray-tatsushid-h2o-rpm.repo
以下の内容を貼り付けて保存します。
[bintray-tatsushid-h2o-rpm]
name=bintray-tatsushid-h2o-rpm
baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1
yum info でパッケージ情報を確認します。
H2O のパッケージが認識されていれば問題ありません。
$ yum info h2o
Available Packages
Name : h2o
Arch : x86_64
Version : 2.2.5
Release : 1.el7
Size : 2.6 M
CentOS 7.5 に H2O を yum インストールする
yum インストールを実行します。
# yum install h2o
CentOS の起動時に、H2O も自動起動するように設定します。
# systemctl enable h2o
H2O サーバーを起動します。
# systemctl start h2o
H2O のバージョン情報を確認します。
今回は H2O 2.2.5
がインストールされました。
$ h2o --version
h2o version 2.2.5
OpenSSL: LibreSSL 2.4.5
mruby: YES
Web サーバー「H2O」の動作確認
H2O の起動状態を確認します。
staus: active(running)
となっていれば OK です。
$ systemctl status h2o
● h2o.service - H2O - the optimized HTTP/1, HTTP/2 server
Loaded: loaded (/usr/lib/systemd/system/h2o.service; enabled; vendor preset: disabled)
Active: active (running)
http://<サーバーのIPアドレス>
にアクセスします。
AWS などのクラウドを利用している場合、ファイアウォールやポート開放設定も必要です。
ブラウザでアクセスした後、アクセスログの出力を確認します。
アクセス時刻や、User-Agent 情報などが正常に記録されています。
# tail /var/log/h2o/access.log
xxx.yyy.zzz.55 - - [17/Nov/2018:09:50:02 +0000] "GET / HTTP/1.1" 200 177 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
HTML ファイルの格納場所は /var/www/html
となっています。
$ ls -l /var/www/html
-rw-r--r--. 1 root root 177 Jun 1 10:25 index.html
各種設定を変更する場合、/etc/h2o/h2o.conf
を編集後に H2O を再起動すれば OK です。
H2O セットアップのまとめ
CentOS 7.5 に Web サーバーの H2O をセットアップしました。
外部リポジトリを登録することで、yum コマンドでのインストールが可能です。
独自ドメインおよび HTTPS を設定することで、HTTP/2 にも対応します。
環境が揃っている場合は、高速な HTTP/2 もぜひお試しください。
【関連記事】
⇒ nginx のインストール手順 (CentOS)
⇒ MySQL のインストール手順 (CentOS)
⇒ Go 言語のインストール手順 (CentOS)
⇒ Docker のインストール手順 (CentOS)