AlmaLinux 10の標準リポジトリにもNginxは用意されていますが、バージョンが古い場合があります。
最新の機能や修正を利用したい場合は、Nginxが公式に提供しているリポジトリを使用するのがおすすめです。
この記事では、Nginx公式リポジトリを追加し、最新のMainline(メインライン)版をインストールする手順を解説します。
事前準備(必要なツールのインストール)
まずはシステムを最新の状態にし、リポジトリの管理に必要なパッケージ「dnf-plugins-core」をインストールします。
$ sudo dnf update $ sudo dnf install dnf-plugins-core
Nginx公式リポジトリを追加
Nginx公式リポジトリの設定ファイルを、「/etc/yum.repos.d/nginx.repo」という名前で作成します。
$ sudo vi /etc/yum.repos.d/nginx.repo
設定内容は以下のとおりです。
Stable版とMainline版の両方の設定を記述しておきます。
[nginx-stable] name=nginx stable repo baseurl=https://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=https://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
Mainline版を使用するための設定変更
Nginxには大きく分けて「Mainline版」と「Stable版」の2種類のリリースラインが存在します。
- Mainline(開発メインストリーム):常に最新機能が追加され、バグ修正も最も早く反映されます。
- Stable(保守ライン):Mainlineから分岐し、新機能は追加されず重大なバグ修正のみが行われます。
※Stableは仕様が固定されているため、サードパーティ製モジュールとの互換性を重視する場合に使用します。
Nginx公式は原則として最新のMainline版の利用を推奨していますが、初期設定では[nginx-stable]のみが有効(enabled=1)に設定されているので、以下のコマンドを実行して[nginx-mainline]も有効化します。
$ sudo dnf config-manager --enable nginx-mainline
このコマンドを実行すると、リポジトリの[nginx-mainline]部分にある「enabled=0」が「enabled=1」に変更され、使用可能になります。
Stable版とMainline版が両方有効な場合、どちらがインストールされる?
dnfコマンドは、両方のリポジトリが有効な場合、バージョン番号が大きい(新しい)パッケージを自動的に優先してインストールします。
たとえば、Stable版が1.30.xで Mainline版が1.31.xの場合、自動的にMainline版が選択されます。
Nginxのバージョン番号のつけられ方
Nginxのバージョン番号は、以下のルールでつけられています。
- メジャー番号(1.xx.xx): NGINXは長年1で固定されています。
- マイナー番号(1.偶数.xx):Stable版
- マイナー番号(1.奇数.xx):Mainline版
Stable版が更新されると、すぐにMainline版も更新されます。
たとえば「1.30.0」というStable版がリリースされると、直後に「1.31.0」というMainline版がリリースされます。
そのため、Mainline版のバージョンがStable版よりも大きく(新しく)なるので、インストールする場合Mainline版が選択されるようになります。
Stable版を無効化したい場合
明示的にStable版を無効化し、Mainline版のみ使用したい場合は以下のコマンドを実行してください。
$ sudo dnf config-manager --disable nginx-stable
このコマンドを実行すると、リポジトリの[nginx-stable]部分にある「enabled=1」が「enabled=0」に変更され、無効化されます。
$ sudo cat /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=https://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true ### 以下省略 ###
Nginxインストール
リポジトリの準備が整ったので、Nginxをインストールします。
$ sudo dnf update $ sudo dnf install nginx
GPGキーの確認について
インストール中、初めてNginxリポジトリを利用する場合は、パッケージの署名確認(GPG keyのインポート)を求められます。
表示されたFingerprintが、以下の内容と一致していることを確認してください。
一致していれば「Is this ok [y/N]:」という質問に「y」を入力してください。
- GPG key 0xB49F6B46: 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
- GPG key 0xB49F6B46: 8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46
- GPG key 0x8D88A2B3: 9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3
実際のインストール実行例
$ sudo dnf install nginx Last metadata expiration check: 0:20:49 ago on Mon 25 May 2026 03:55:26 PM JST. Dependencies resolved. ============================================================================================================= Package Architecture Version Repository Size ============================================================================================================= Installing: nginx x86_64 2:1.31.1-1.el10.ngx nginx-mainline 1.1 M Transaction Summary ============================================================================================================= Install 1 Package Total size: 1.1 M Installed size: 3.6 M Is this ok [y/N]: y Downloading Packages: [SKIPPED] nginx-1.31.1-1.el10.ngx.x86_64.rpm: Already downloaded nginx mainline repo 9.6 kB/s | 12 kB 00:01 Importing GPG key 0x7BD9BF62: Userid : "nginx signing key <signing-key@nginx.com>" Fingerprint: 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 From : https://nginx.org/keys/nginx_signing.key Is this ok [y/N]: y Key imported successfully Importing GPG key 0x8D88A2B3: Userid : "nginx signing key <signing-key-3@nginx.com>" Fingerprint: 9E9B E90E ACBC DE69 FE9B 204C BCDC D8A3 8D88 A2B3 From : https://nginx.org/keys/nginx_signing.key Is this ok [y/N]: y Key imported successfully Importing GPG key 0xB49F6B46: Userid : "nginx signing key <signing-key-2@nginx.com>" Fingerprint: 8540 A6F1 8833 A80E 9C16 53A4 2FD2 1310 B49F 6B46 From : https://nginx.org/keys/nginx_signing.key Is this ok [y/N]: y Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: nginx-2:1.31.1-1.el10.ngx.x86_64 1/1 Installing : nginx-2:1.31.1-1.el10.ngx.x86_64 1/1 Running scriptlet: nginx-2:1.31.1-1.el10.ngx.x86_64 1/1 ---------------------------------------------------------------------- Thanks for using nginx! Please find the official documentation for nginx here: * https://nginx.org/en/docs/ Please subscribe to nginx-announce mailing list to get the most important news about nginx: * https://nginx.org/en/support.html Commercial subscriptions for nginx are available on: * https://nginx.com/products/ ---------------------------------------------------------------------- Installed: nginx-2:1.31.1-1.el10.ngx.x86_64 Complete!
インストール後の確認
インストールされたNginxのバージョンを確認します。
$ nginx -v nginx version: nginx/1.31.1
無事に、Mainline版(1.31.1)がインストールされていることが確認できました。
自動起動設定
サーバー再起動時にもNginxが立ち上がるよう、起動と自動起動設定も行っておきます。
$ sudo systemctl start nginx $ sudo systemctl enable nginx
以上で、インストール作業は完了です。
コメント