CLOVER🍀

That was when it all began.

Ubuntu Linuxにnginxをインストールする

ちょっとnginxを使ってみようと思いまして。

まずは、Ubuntu Linuxにnginxをインストールしてみます。

nginxをUbuntu Linuxにインストールする場合、

の3つの方法が取れるみたいです。

Building nginx from Sources
nginx: Linux packages
Install | NGINX

今回は、パッケージインストールの2つの方法で行ってみました。

リポジトリを足してインストール

nginxの提供する、オフィシャルなリポジトリを使ってインストールします。

The available NGINX Ubuntu release support is listed at this distribution page. For a mapping of Ubuntu versions to release names, please visit the Official Ubuntu Releases page.

https://www.nginx.com/resources/wiki/start/topics/tutorials/install/

まずは、nginxのキーを登録。

$ wget -qO - https://nginx.org/keys/nginx_signing.key | sudo apt-key add -

Ubuntu Linuxバージョンごとに指定するものが変わりますが、以下のファイルを作成し

$ sudo vim /etc/apt/sources.list.d/nginx.list

16.04(Xenial)であれば、次のように書きます。ただ、stable版とmainline版で書き方が変わります。

stable版の場合。

deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx

mainline版の場合。

deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx

その後は、

$ sudo apt-get update
$ sudo apt-get install nginx

現時点(2016/11/3)では、stable版では1.10.2が入ります。

$ sudo nginx -v
nginx version: nginx/1.10.2

mainline版では、1.11.5。

$ sudo nginx -v
nginx version: nginx/1.11.5

ディレクトリ構成は、設定ファイルが「/etc/nginx」ディレクトリに。

$ ll /etc/nginx 
total 44
drwxr-xr-x  3 root root 4096 Nov  3 13:54 ./
drwxr-xr-x 83 root root 4096 Nov  3 13:54 ../
drwxr-xr-x  2 root root 4096 Nov  3 13:54 conf.d/
-rw-r--r--  1 root root 1007 Oct 18 15:03 fastcgi_params
-rw-r--r--  1 root root 2837 Oct 18 15:03 koi-utf
-rw-r--r--  1 root root 2223 Oct 18 15:03 koi-win
-rw-r--r--  1 root root 3957 Oct 18 15:03 mime.types
lrwxrwxrwx  1 root root   22 Oct 18 16:55 modules -> /usr/lib/nginx/modules/
-rw-r--r--  1 root root  643 Oct 18 16:55 nginx.conf
-rw-r--r--  1 root root  636 Oct 18 15:03 scgi_params
-rw-r--r--  1 root root  664 Oct 18 15:03 uwsgi_params
-rw-r--r--  1 root root 3610 Oct 18 15:03 win-utf

ログは、「/var/log/nginx」に。

$ ll /var/log/nginx
total 8
drwxr-xr-x 2 root  root 4096 Nov  3 13:54 ./
drwxr-xr-x 7 root  root 4096 Nov  3 13:54 ../
-rw-r----- 1 nginx adm     0 Nov  3 13:54 access.log
-rw-r----- 1 nginx adm     0 Nov  3 13:54 error.log

デフォルトのドキュメントルートは、「/usr/share/nginx/html」となります。

$ ll /usr/share/nginx/html
total 16
drwxr-xr-x 2 root root 4096 Nov  3 13:54 ./
drwxr-xr-x 3 root root 4096 Nov  3 13:54 ../
-rw-r--r-- 1 root root  537 Oct 18 15:03 50x.html
-rw-r--r-- 1 root root  612 Oct 18 15:03 index.html

Ubuntu PPAでインストール

次にUbuntu PPAでインストールする方法。こちらは、nginx.orgの提供ではない模様。

This PPA is maintained by volunteers and is not distributed by nginx.org. It has some additional compiled-in modules and may be more fitting for your environment.

https://www.nginx.com/resources/wiki/start/topics/tutorials/install/

次のコマンドを実行します。

$ sudo add-apt-repository ppa:nginx/stable
$ sudo apt-get update
$ sudo apt-get install nginx

こちらでは、nginx 1.10.1が入ります。

# nginx -v
nginx version: nginx/1.10.1

ディレクトリ構成は、設定ファイルが「/etc/nginx」に。先ほどのリポジトリを追加してのインストールと、微妙に構成が異なります。Ubuntuでふつうに入れるApacheみたいな感じですね。

$ ll /etc/nginx
total 72
drwxr-xr-x  8 root root 4096 Nov  3 09:03 ./
drwxr-xr-x 86 root root 4096 Nov  3 14:12 ../
drwxr-xr-x  2 root root 4096 Oct 27 16:21 conf.d/
-rw-r--r--  1 root root 1077 Oct 13 13:35 fastcgi.conf
-rw-r--r--  1 root root 1007 Oct 13 13:35 fastcgi_params
-rw-r--r--  1 root root 2837 Oct 13 13:35 koi-utf
-rw-r--r--  1 root root 2223 Oct 13 13:35 koi-win
-rw-r--r--  1 root root 3957 Oct 13 13:35 mime.types
drwxr-xr-x  2 root root 4096 Oct 27 16:21 modules-available/
drwxr-xr-x  2 root root 4096 Nov  3 09:03 modules-enabled/
-rw-r--r--  1 root root 1505 Oct 13 13:35 nginx.conf
-rw-r--r--  1 root root  180 Oct 13 13:35 proxy_params
-rw-r--r--  1 root root  636 Oct 13 13:35 scgi_params
drwxr-xr-x  2 root root 4096 Nov  3 09:03 sites-available/
drwxr-xr-x  2 root root 4096 Nov  3 09:03 sites-enabled/
drwxr-xr-x  2 root root 4096 Nov  3 09:03 snippets/
-rw-r--r--  1 root root  664 Oct 13 13:35 uwsgi_params
-rw-r--r--  1 root root 3071 Oct 13 13:35 win-utf

ログは、「/var/log/nginx」。

$ ll /var/log/nginx
total 12
drwxr-xr-x 2 root     adm  4096 Nov  3 14:12 ./
drwxr-xr-x 9 root     root 4096 Nov  3 14:12 ../
-rw-r----- 1 www-data adm    80 Nov  3 14:12 access.log
-rw-r----- 1 www-data adm     0 Nov  3 09:03 error.log

デフォルトのドキュメントルートは、先ほどと異なり「/var/www/html」です。

$ ll /var/www/html
total 12
drwxr-xr-x 2 root root 4096 Nov  3 09:03 ./
drwxr-xr-x 3 root root 4096 Nov  3 09:03 ../
-rw-r--r-- 1 root root  612 Nov  3 09:03 index.nginx-debian.html

とりあえず、どちらでも入りますが…オフィシャルのリポジトリを足して使う方がいいのかな?