nginx を HTTP/2 に標準対応した 1.9.5 にアップデートしてみる。

Web サイト

先日に HTTP/2 対応パッチを当ててビルドした nginx 1.9.4 でしたけど、新たに HTTP/2 に標準対応した 1.9.5 が登場したのでアップデートしてみることにしました。


先日に HTTP/2 対応パッチを当ててインストールした nginx 1.9.4 でしたけど、 になって HTTP/2 に標準対応した nginx 1.9.5 が登場した様子なので、アップデートしてみることにしました。

nginx 1.9.4 をインストールしたときのお話は こちら に記載してあります。

nginx 1.9.5 にアップデートする

前回は新規インストールだったのでけっこう準備が必要でしたけど、今回はほとんどのものをそのまま流用できるので、作業はずいぶん簡単でした。

まずは次のようにして nginx 1.9.5 をダウンロードします。今回の 1.9.5 からは HTTP/2 が標準搭載されたため、個別にパッチを用意しなくても良くなったのが嬉しいところです。

wget http://nginx.org/download/nginx-1.9.5.tar.gz

ダウンロードができたら、次のようにして展開し、出来上がったディレクトリに移動します。

tar xvzf nginx-1.9.5.tar.gz
cd nginx-1.9.5

そして、コンパイルの準備をします。

./configure --with-http_ssl_module --with-http_v2_module --prefix=/usr/local/nginx --user=nginx --group=nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx

このようにすると、次のようにコンパイル準備ができました。

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + md5: using OpenSSL library
  + sha1: using OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/sbin/nginx"
  nginx configuration prefix: "/etc/nginx"
  nginx configuration file: "/etc/nginx/nginx.conf"
  nginx pid file: "/var/run/nginx.pid"
  nginx error log file: "/var/log/nginx/error.log"
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: “scgi_temp"

ここまでできたら、あとは次のようにしてコンパイルとインストールを行えば、アップデート作業は完了です。

make
make install

アップデート後の設定と起動について

前回の nginx 1.9.4 をインストールしたときに行った設定や起動スクリプトなどは、今回の nginx 1.9.5 でもそのまま使える様子でした。

そのため、アップデート後に service nginx restart とすることで、新しいバージョンの nginx をすぐに使い始められました。


注意点としては nginx 1.9.5 からは SPDY のサポートがなくなったようで、もし /etc/nginx/nginx.conf 内で listen ディレクティブに spdy を指定している場合は削除する必要があるようです。