みなさんがすでにやっていることですが、僕もubuntuにnginxをインストールしてみました。手順がネット上にたくさん公開されているのでそれを参考にして特に問題なくできました。ソースからコンパイルする方法ではなく、パッケージをインストールする方法です。一応、書いておきます。作業はすべてrootユーザーで行いました。
nginxのパッケージをインストールするにあたり、そのパッケージが改ざんされていないか確認する手順(正当性の確認の手順)があるので、先にPGP鍵をインストールしておきます。
PGP鍵の取得
# wget https://nginx.org/keys/nginx_signing.key
PGP鍵のインストール
# apt-key add nginx_signing.key
問題なくインストールできれば「OK」と表示されます。PGP鍵がインストールできたか確認してみます。
PGP鍵の確認
# apt-key list
いくつか鍵が表示されるのですが「/etc/apt/trusted.gpg」のところに以下のようなnginxの鍵が表示されていれば大丈夫です(「不明」って言葉があるのだけど、あまり意味がわかってはない)。有効期限も設定されているのですね。。
次に、パッケージの取得元をリポジトリに登録します。/etc/apt 配下にある sources.list ファイルを編集します。一応、sources.listはバックアップを取っておきましょう。
sources.listファイルのバックアップ
# cd /etc/apt
# cp -p sources.list sources.list.bkup
sources.listファイルには以下の2行を末尾に追加します。
# vi sources.list
===== 末尾に追加する行 =====
deb http://nginx.org/packages/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/ubuntu/ bionic nginx
=========================
ubuntu/ と bionic の間は半角スペースを入れます。またbionicはubuntu18.04のコードネームで、ubuntuの他のバージョンの場合はここを変える必要があります。ubuntuのコードネームは以下のようなので自分の環境に応じて書き換えてください。
16.04 xenial
16.10 yakkety
17.04 zesty
17.10 artful
18.04 bionic
18.10 cosmic
19.04 disco
19.10 eoan
20.04 focal
sources.listを編集して保存したら、リポジトリを更新して最新化します。
リポジトリのアップデート
# apt update
ここでインストールされるnginxのバージョンを確認してみます。
インストールされるパッケージの確認
# apt show nginx
2019年12月29日現在では1.16.1のバージョンがインストールされるみたいです。ちなみに「N: 追加レコードが 6 件あります。表示するには ‘-a’ スイッチを付けてください。」とメッセージが出ているので以下のコマンドを打ってみました。すると、他のバージョンもあるよ、みたいなものが表示されました。
インストールされるパッケージの確認(詳細)
# apt -a show nginx
※表示される内容は省略します。。
では、nginxをインストールしてみようと思います。準備はもう整っているので以下のコマンドを打つだけです。
nginxのインストール
# apt install nginx
インストール処理が進むごとにメッセージが表示されます。ログを取得しているのでここに貼り付けても良ったのですが、省略しました。インストールが終わったらバージョンを確認してみます。
nginxのバージョンの確認
# nginx -v
「nginx version: nginx/1.16.1」と表示されました。インストールはこれで完了です。nginxをインストールした直後だとnginxが立ち上がっていないので起動させます。
nginxの起動
# systemctl start nginx
nginxの起動の確認
# systemctl is-active nginx
「active」と表示されれば起動できています。
ちなみにですが、インストール直後はnginxは起動していないのですが自動起動は「enabled」になっています。OSがを再起動したときなどnginxが自動起動するかどうかは以下で確認できます。
nginxの自動起動の確認
# systemctl list-unit-files | grep nginx
自動起動させるかどうかは以下で設定してください。
nginxを自動起動する
# systemctl enable nginx
nginxを自動起動させない
# systemctl disable nginx
nginxにアクセスして画面が表示されるか確認してみます。ブラウザを立ち上げて以下のURLを打ち込みます。
http://localhost/
nginxが問題なく動いていれば「Welcome to nginx!」の画面が表示されます。
最後に、nginxの公式サイトのダウンロードのURLを載せておきます。
ダウンロードのURL
https://nginx.org/en/download.html
2019年12月29日現在では以下です。
ここを見ると「Mainline version」と「Stable version」というのがあるのですが、上記の方法でパッケージをインストールするとStable versionがインストールされるみたいです。Mainline versionとStable versionの違いですが、nginxの新機能やバグ修正はまずMainline versionに反映されて、後にStable versionに反映されるようです。Mainline versionは新機能がどんどん追加されていくためAPIの互換性がたまに崩れることがあるとのこと。Stable versionは原則深刻なバグや脆弱性の修正に限っていてAPIの互換性は保たれるらしい(Stable versionはAPIの互換性を重視している)。こう書くとStable versionのほうが良さそうに思えるのだけれども、Mainline versionのほうが推奨されているようです。個人的にはStable versionで良いかな、と思っています。