apt install nginx
だとちょっと前のバージョンがインストールされてしまうので、nginx公式をみて最新安定版をインストールしたときのメモ。お勉強を兼ねてそれぞれのコマンドの意味を確認しながらやってみた。
バージョン情報
- Ubuntu(22.04.4 LTS)
- nginx(1.24.0)
nginx をインストールする前に、必要な各パッケージをまとめてインストール
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
-
sudo
- rootじゃないユーザーがroot権限で実行するコマンド -
apt isntall <PACKAGE NAME>
- Ubuntuにパッケージをインストールするコマンド -
curl
- HTTPリクエストを送信するためのパッケージ -
gnupg2
- 暗号化や署名に使用するパッケージ -
ca-certificates
- SSL/TLS通信に使用するパッケージ -
lsb-release
- linuxカーネルとその他諸々をまとめたパッケージ -
ubuntu-keyring
- ubuntuで使用するいろんな鍵をまとめるパッケージ
nginx の署名鍵をインポート
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
-
curl https://nginx.org/keys/nginx_signing.key
- nginxの署名鍵が置いてあるURLに接続してダウンロードして、
-
gpg --dearmor
- ダウンロードしたファイルをバイナリに変換し、
-
sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg
- 変換したファイルを ...nginx-archive-keyring.gpg に出力
-
>/dev/null
- teeコマンド実行時の出力結果は不要なので捨てている
取得した署名鍵を確認
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
# 取得した署名鍵が表示される
pub rsa2048 2011-08-19 [SC] [有効期限: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
が表示されたら OK
-
gpg
- オープンソースのツールの公開鍵(GPGキー)の検証をするときに使用するコマンド
-
--dry-run
- コマンドを実行したフリをする(実際にファイルの書き換え)は行わない
-
--quiet
- 必要最低限のログを出力する
-
--import --import-options import-show
- 前工程で出力した署名鍵ファイルをインポートして出力する
nginx の最新の安定版をインストールするためにリポジトリを追加
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
-
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg]
- 前項でインポートしたnginxの署名鍵を使用して、
-
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"
- nginx公式サイトから最新の安定版パッケージを取得し、
- sudo tee /etc/apt/sources.list.d/nginx.list
-
...nginx.list
に出力している
-
nginx のインストール
sudo apt update
sudo apt install nginx
パッケージ情報を更新して(sudo apt update)インストール(sudo apt install nginx)
nginx 起動
sudo systemctl start nginx
nginx の起動状態を確認。active(running)
だったら OK
sudo systemctl status nginx
# nginxのステータスが表示される
# ここから
● nginx.service - nginx - high performance web server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>
Active: active (running) since Mon 2024-04-22 11:30:08 JST; 38s ago
Docs: https://nginx.org/en/docs/
Process: 45923 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exi>
Main PID: 45924 (nginx)
Tasks: 3 (limit: 1031)
Memory: 2.6M
CPU: 10ms
CGroup: /system.slice/nginx.service
tq45924 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx>
tq45925 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" ">
mq45926 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" ">
4月 22 11:30:08 ik1-406-35042 systemd[1]: Starting nginx - high performance we>
4月 22 11:30:08 ik1-406-35042 systemd[1]: nginx.service: Can't open PID file />
4月 22 11:30:08 ik1-406-35042 systemd[1]: Started nginx - high performance web>
lines 1-17/17 (END)
# ここまで
nginx のバージョン確認
nginx -v
nginx version: nginx/1.24.0
1.24.0がインストールされた🙌