前提
Ubuntu に Nginx をインストールしたら、バージョンが 1.18.0 だった。
これは 2020 年にリリースされたバージョンで古いので、最新にしたい。
Ubuntu には、OS 標準のソフトウェアというものがあるらしく、Ubuntu 22.04 の OS 標準な Nginx を確認すると、1.18.0-6ubuntu14.3 と表示される。
また、類似記事でapt-key
を使っていることが多かったんだけど、これを使うと$ sudo apt update
したときに一生エラーが出ることになるので、apt-key
を使わない方法でやってみる。
参考)
http://nginx.org/en/linux_packages.html
環境
Ubuntu 22.04 LTS
Nginx 1.18.0 → 1.22.1
設定
署名鍵のインポート
参考 URL に沿って設定していく。
$ sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg
確認
$ gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Nginx のレポジトリ追加
Ubuntu のリリース名の確認する。jammy
とわかる。
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
リポジトリ情報はこうなる。
deb https://nginx.org/packages/ubuntu/ jammy nginx
deb-src https://nginx.org/packages/ubuntu/ jammy nginx
これ↑を/etc/apt/sources.list.d/
の中にnginx.list
を作成して書く。
nano
でもvim
でも何でもよいが、vim
使い慣れてるので、私はvim
使います。
$ sudo vi /etc/apt/sources.list.d/nginx.list
一応、確認しておこう。
$ cat /etc/apt/sources.list.d/nginx.list
deb https://nginx.org/packages/ubuntu/ jammy nginx
deb-src https://nginx.org/packages/ubuntu/ jammy nginx
インストール
さ、ドン!
$ sudo apt update
$ sudo apt install nginx
そして、もう一度 Nginx のパッケージを確認する。
$ nginx -v
nginx version: nginx/1.22.1
おぉぉおおおお!1.22.1 に変わっています。
あと少し。ステータスがinactive (dead)
になっているので…
$ sudo systemctl status nginx
○ nginx.service - nginx - high performance web server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2022-11-30 13:55:04 JST; 1min 2s ago
Nginx を起動する。
$ sudo systemctl start nginx
active (running)
になっていればOK。
$ sudo systemctl status nginx
● nginx.service - nginx - high performance web server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-11-30 13:57:18 JST; 12s ago