1. Qiita
  2. 投稿
  3. Ubuntu

Ubuntuに最新のnginxをインストールする

  • 94
    いいね
  • 0
    コメント

ubunutの初期リポジトリからapt-getでnginxをインストールすると、残念ながらだいぶ遅れたnginxがインストールされます。

2016/3/12 本稿の手順をansibleで書いた場合の参考例を追加しました。

マニュアルインストール編

最新版をインストールするには、以下の3つがあります。

  1. ソースからコンパイル
  2. PPAからインストール
  3. 公式nginxをリポジトリに追加

1はconfigureとか色々とやることが多いので2か3を使いたいところです。
また、PPAは正直何が混入されているかわからないので、最終的には3の公式の最新版を使いたい訳です。

ということで、今回は、3の方法でインストールする方法です。

# (1) nginxサイトが配布するPGPキーを追加
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -

# (2) リポジトリを一覧に追加
sudo sh -c "echo 'deb http://nginx.org/packages/ubuntu/ trusty nginx' >> /etc/apt/sources.list"
sudo sh -c "echo 'deb-src http://nginx.org/packages/ubuntu/ trusty nginx' >> /etc/apt/sources.list"

# (3) アップデート後、nginxをインストール
sudo apt-get update
sudo apt-get install nginx

NOTE
(2)のリポジトリを追加するコマンド内にある"trusty"はお使いのOSに応じ、下表を参考に任意のOSコード名を設定してください。

OSバージョン コード名
10.04 lucid
12.04 precise
14.04 trusty
14.10 Utopic
15.04 vivid
15.10 wily
16.04 xenial
16.10 Yakkety
17.04 Zesty

Ansible編

ansibleを使うとOSの情報が取得できるので以下のようなYMLファイルでインストールできます。ANYHOSTのところはよしなに書き換えてください。
ansible便利ですね。

- hosts: ANYHOST
  become: yes
  vars:
    nginx_pgp_url: http://nginx.org/keys/nginx_signing.key
    nginx_repository_url: http://nginx.org/packages/ubuntu/
  tasks:
    - name : Add official nginx PGP key
      apt_key: url={{nginx_pgp_url}} state=present
    - name : Add official nginx repository
      lineinfile : >
        dest=/etc/apt/sources.list
        line='{{item}} {{nginx_repository_url}} {{ansible_distribution_release}} nginx'
      with_items:
        - deb
        - deb-src
    - name : Run apt-get update
      apt: update_cache=yes
    - name : Install nginx
      apt : name=nginx state=present