今まで個人でnginxを使用する際はDockerで構築してきたのですが、本番で運用するには問題があったので直接インストールしました。
ところが、インストールしたバージョンのnginxを確認すると1.10.2
なんですね。古い!!OSはUbuntu16.04です。どうにもUbuntuのパッケージセンターではこれ以上新しいのは入らないっぽいですね。
最新をインストールするとなれば、PPAリポジトリからインストールするか、自分でビルドするかになります。Dockerで構築したnginxに関しては自分でビルドしたものを使用していたのですが、これは流石にめんどくさいです。ですので、少し古くてもよいので公式(nginx.org)で配布しているnginxをインストールすることにしました。公式のドキュメントを参考にしてます(というよりほぼそのままです)
対象のバージョンを確認
Ubuntuのコードネーム確認
Ubuntuのリリース情報から自分が使用しているバージョンのコードネームを確認します。
例えば16.04ならXenial Xerus
です。
nginxのディストリビューションリスト確認
nginxのディストリビューションリストから先ほどのコードネームのものを探します。
例えば16.04ならXenial Xerus
なのでxenial
です。
パッケージリスト作成
/etc/apt/sources.list.d/nginx.list
を作成して下記を記述します。
1 | deb http://nginx.org/packages/ubuntu/ $codename nginx |
この時に$codename
の部分に先ほどのnginxのディストリビューションリストで確認したコードネームを指定します。16.04なら下記のようにxenial
になります。
1 | deb http://nginx.org/packages/ubuntu/ xenial nginx |
インストール
あとは下記のコマンドでインストールします。
1 | sudo apt-get update |
この時、下記のようにGPGエラーが発生するかもしれません。
1 | W: GPG error: http://nginx.org/packages/ubuntu xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABF5BD827BD9BF62 |
この場合はNO_PUBKEY ********
の部分(上述のエラーだとABF5BD827BD9BF62
)を控えて下記のようにapt-key adv ....
でキーを更新します。
1 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62 |
後は前述の通りにnginxをインストールすれば終わりです。