nginxのインストール方法は、大きく分けて2つあります。
インストール入門(Ubuntu)では、1.apt-getを利用した方法について説明します。
ソースコードからのインストール高度なインストール方法や設定については、後日リリースする予定です。
apt-getでubuntu自体のアップデートやパッケージのインストールができます。
前提条件の図にあるように、
nginxパッケージをapt-getで取得する経路は3つあります。
2.のnginxからパッケージを取得する方法について説明します。
ubuntuサーバからインターネット経由でOSと互換性の取れた最新のパッケージをnginx公式サイトから取得し、
サーバにインストールする方法について説明します。
apt-getのnginx用レポジトリの作成
$ cd /etc/apt/sources.list.d
$ sudo touch nginx.list
ファイルのグループの変更と権限の変更
$ sudo chgrp infrateam nginx.list
$ sudo chmod g+wr nginx.list
$ ls -la
-rw-rw-r-- 1 root infrateam 0 4月 26 00:43 nginx.list
nginxのレポジトリ追加
$ echo deb http://nginx.org/packages/ubuntu/ yakkety nginx >> nginx.list
$ echo deb-src http://nginx.org/packages/ubuntu/ yakkety nginx >> nginx.list
「yakkety」は、ubuntuのコードネームです。
本書では、ubuntu16.04を利用しているためコードネームは、「yakkety」になります。
コードネームは、http://nginx.org/packages/ubuntu/dists/に公開されたコードネームと一致させます。
貴方のubuntuサーバのコードネーム(英小文字)を利用して下さい。
nginxのレポジトリ確認
$ cat nginx.list
deb http://nginx.org/packages/ubuntu/ yakkety nginx
deb-src http://nginx.org/packages/ubuntu/ yakkety nginx
$ cd
最後の「cd」コマンドはユーザディレクトリ(/home/infra01)に移動します。
主要なファイルやディレクトリ作業が終了次第、作業の区切れとしてカレントディレクトリをユーザディレクトリに戻します。
apt-keyの実行
$ curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
apt-get updateの実行
$ sudo apt-get update
取得:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
取得:5 http://nginx.org/packages/ubuntu yakkety InRelease [2,835 B]
取得:6 http://nginx.org/packages/ubuntu yakkety/nginx Sources [3,439 B]
取得:7 http://nginx.org/packages/ubuntu yakkety/nginx i386 Packages [5,606 B]
318 kB を 17秒 で取得しました (18.5 kB/s)
apt-get installの実行
$ sudo apt-get install nginx
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
nginx
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 12 個。
841 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 2,864 kB のディスク容量が消費されます。
(データベースを読み込んでいます ... 現在 199984 個のファイルとディレクトリがインストールされています。)
.../nginx_1.12.0-1~yakkety_i386.deb を展開する準備をしています ...
----------------------------------------------------------------------
Thanks for using nginx!
Please find the official documentation for nginx here:
* http://nginx.org/en/docs/
Commercial subscriptions for nginx are available on:
* http://nginx.com/products/
----------------------------------------------------------------------
nginx (1.12.0-1~yakkety) を展開しています...
:
:
nginx version: nginx/1.12.0
nginxの起動
$ sudo nginx
nginxの起動確認
$ ps -aux | grep nginx
root 5203 0.0 0.0 7248 540 ? Ss 11:38 0:00 nginx: master process nginx
nginx 5204 0.0 0.1 7416 2232 ? S 11:38 0:00 nginx: worker process
設定ファイルが初期設定の場合には、masterプロセスとworkerプロセスが1つず起動しています。
以上でインストール作業は終了です。次頁のサービス化の設定作業を開始して下さい。
上記内容を動作確認をした際に想定外の事象があったので参考のために説明します。
インストール作業が中途半端に失敗した場合には、パッケージのアンインストールをします。
アンインストール後本頁の手順を最初から確認して、sudo apt-get install nginxを再実行します。
nginxのアンインストール
$ apt-get remove nginx
$ apt-get remove nginx-common
2行目が忘れてしまうコマンドで1回以上インストールした場合には、nginx-commonパッケージがインストールされています。
これを1行目だけのコマンドだけの実行の場合、次のエラーが再インストール時に出力されます。
nginx-commonのremove漏れによるエラー
dpkg: アーカイブ /var/cache/apt/archives/nginx_1.12.0-1~yakkety_i386.deb の処理中に エラーが発生しました (--unpack):
'/etc/default/nginx' を上書きしようとしています。これはパッケージ nginx-common 1.10.0-0ubuntu0.16.04.4 にも存在します
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
処理中にエラーが発生しました:
/var/cache/apt/archives/nginx_1.12.0-1~yakkety_i386.deb