よくやるのでメモ
前提条件
| OS・ミドルウェア | バージョン |
|---|---|
| Nginx | nginx/1.28.0 |
| Ubuntu | 24.04 LTS (jammy) |
| CentOS | CentOS Linux release 7.9.2009 (Core) |
Ubuntu の場合
手順
-
必要なパッケージをインストールする
$ sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -
Nginx リポジトリ認証用のキーを取得し、そのキーを追加する
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null -
キーが正しく設定されているか確認する
$ 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> -
/etc/apt/sources.listファイルにリポジトリ情報を追記する$ 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 -
リポジトリの pinning を設定する
$ echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx -
リポジトリ情報を更新してインストール
$ sudo apt -y update $ sudo apt -y install nginx
CentOS の場合
手順
-
必要なパッケージをインストールする
# yum install yum-utils -
Nginxのリポジトリ情報を登録する
# vi /etc/yum.repos.d/nginx.reponginx.repo[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true -
使用するリポジトリを設定する
# yum-config-manager --enable nginx-mainline -
yum でインストール
# yum -y install nginx
補足
以下のコマンドを入力することでリポジトリを登録することも可能
# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
しかしながら上記コマンドの場合、登録されるのはstable版のリポジトリ情報となる。
Nginx公式としてはmainline版の利用を推奨しているようなので、今回はリポジトリ情報を自身で作成する方法を採用。
詳細は参考のリンクに記載されている。