Nginxのインストール

この前、Amazon LinuxNginxをインストールしたのだが、リバースプロキシをするにあたって[subs_filter_module]が必要なことがわかった。
それで、ソースコードからインストールすることが必要になったのでその際のメモ。

最初にAmazon LinuxにNginxをインストールしたのは、[yum]でインストールした。
インストールされたNginxのバージョンは1.8.1

configureオプションについて

設定ファイルなどはそのまま使用できるものは使用したいのでパッケージでインストールされた状態のconfigureオプションについて確認した。

なんか、インストール方法の書かれているサイトのオプション以上に大量にあります。パッケージだからだろうけど、多い・・・
とりあえずこれをコピーして、とっておきます。

次に起動ファイルをコピーする

Nginxの起動ファイルはyumでインストールしているので[/etc/init.d]にあります。

パッケージのnginxをアンインストール

パッケージインストールの情報がとれたのでアンインストールする。

とりあえずここからはroot権限で操作していきます。

コンパイラ、Gitなどをインストール

zlibのダウンロード

Nginxに組み込むためダウンロードする

OpneSSLのダウンロード

OpnesSSLも組み込むので最新のものをダウンロードする

インストールに必要なものがインストールされているか確認

以下のものは、Amazon Linuxには標準でインストールされていなかったものです。
インストールされていなければ、configureの段階でエラーとなります。

インストールされていないものをインストール

libxml2/libxsltをインストール

gdのインストール

perl-ExtUtils-Embedのインストール

GeoIPのインストール

最新バージョンを下記URLにアクセスして確認
http://pkgs.repoforge.org/rpmforge-release/

リバースプロキシに必要なsubs_filter_moduleモジュールのダウンロード

Githubからダウンロードします。

Nginxのソースコードダウンロード

2016年5月現在のStable versionである、1.10.0をインストールするためダウンロード

ソースコードをビルドする

1.8.1と1.10.0では、一部モジュールの変更があるので変更し、追加するものを付け足す。
変更点
–with-spdy_module

–with-http_v2_module
追加
–add-module=/usr/local/src/subs_filter_module/ngx_http_substitutions_filter_module
–with-openssl=/usr/local/src/openssl/openssl-1.0.1t
–with-zlib=/usr/local/src/zlib-1.2.8

エラーがなければmakeする

これでインストールが完了。
confファイルは、「/etc//nginx.conf」にあるので必要な設定を行う。
起動ファイルを用意
パッケージインストール時にコピーしておいた起動ファイルを戻す。
# mv /etc/init.d/nginx.bak /etc/init.d/nginx
もしくは、デベロッパーサイトの下記ページより、インストール先サーバーのOSに合わせて起動ファイルをダウンロードして設置します。
http://wiki.nginx.org/InitScripts
この場合は、必要箇所をインストール環境に合わせて修正が必要となります。

Nginxの基本コマンド

起動ファイルを使用する場合

起動

停止

再起動

設定ファイルの再読み込み(Apacheのgracefulに相当)

設定ファイル文法チェック

状態確認