Nginx のバージョンアップ
この記事は
本サイトで利用している Webサーバ Nginx が 1.14 でしたので、dnf を用いて1.22 までバージョンアップできましたので記載します。
dnf はソフトウェアのバージョンの切り替えをしやすく設計されているそうです。私の場合は本番環境を止めずに作業が完了しました。
Note
Linux の環境が違う場合、本手順で行ってもうまく行かない可能性もあります。あくまで参考までにしてください。
CentOS Stream release 8 、dnf が使用できる前提でNginx がインストールされている状態で記載します。
環境確認(バージョンアップ前)
まずは、バージョンアップ前にモジュールのバージョン確認を行います。
CentOS
CentOS のバージョンは cat /etc/centos-release
で確認。
[root@world-of-f ~]# cat /etc/centos-release
CentOS Stream release 8
Nginx
Nginx は nginx -V
コマンドで確認。
[root@world-of-f ~]# nginx -V
nginx version: nginx/1.14.1
... 以下略
Nginx は 1.14 であることがわかります。
dnf module list nginx
コマンドで現在のモジュールリストを確認できます。
[root@world-of-f ~]# dnf module list nginx
Last metadata expiration check: 0:40:26 ago on Sat 09 Sep 2023 08:48:59 PM JST.
CentOS Stream 8 - AppStream
Name Stream Profiles Summary
nginx 1.14 [d] common [d] nginx webserver
nginx 1.16 common [d] nginx webserver
nginx 1.18 common [d] nginx webserver
nginx 1.20 common [d] nginx webserver
nginx 1.22 common nginx webserver
バージョンアップ作業
事前準備
最初に、 念のためですが dnf update と epel-release もインストールしておきます。
dnf update
[root@world-of-f ~]# dnf update
Last metadata expiration check: 1:32:41 ago on Sat 09 Sep 2023 08:48:59 PM JST.
Dependencies resolved.
Nothing to do.
Complete!
dnf install epel-release
[root@world-of-f ~]# dnf install epel-release
Last metadata expiration check: 0:37:25 ago on Sat 09 Sep 2023 08:48:59 PM JST.
Package epel-release-8-19.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
次がポイントです。
モジュールの依存関係をリセットするために dnf module reset nginx
を実行します。
[root@world-of-f ~]# dnf module reset nginx
Last metadata expiration check: 0:38:40 ago on Sat 09 Sep 2023 08:48:59 PM JST.
Dependencies resolved.
==============================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================
Resetting modules:
nginx
Transaction Summary
==============================================================================================================================================
Is this ok [y/N]: y
Complete!
リセットができたら準備完了。
Nginx をバージョンアップ
では、 Nginx をバージョンアップしていきましょう! 今回ターゲットは 1.22 です。バージョン指定して以下のようにコマンド実行。
dnf module install nginx:1.22/common
root@world-of-f ~]# dnf module install nginx:1.22/common
Last metadata expiration check: 0:44:04 ago on Sat 09 Sep 2023 08:48:59 PM JST.
Dependencies resolved.
==============================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================
Upgrading:
nginx x86_64 1:1.22.1-1.module_el8.8.0+1239+8ec0d538 appstream 598 k
... 略
nginx 1.22
Transaction Summary
==============================================================================================================================================
Upgrade 8 Packages
Total download size: 932 k
Is this ok [y/N]: y
Downloading Packages:
(1/8): nginx-all-modules-1.22.1-1.module_el8.8.0+1239+8ec0d538.noarch.rpm 255 kB/s | 25 kB 00:00
...
(8/8): nginx-1.22.1-1.module_el8.8.0+1239+8ec0d538.x86_64.rpm 2.1 MB/s | 598 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------
Total 264 kB/s | 932 kB 00:03
Running transaction check
...
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: nginx-filesystem-1:1.22.1-1.module_el8.8.0+1239+8ec0d538.noarch 1/1
... 略
Running scriptlet: nginx-filesystem-1:1.22.1-1.module_el8.8.0+1239+8ec0d538.noarch 1/16
Cleanup : nginx-all-modules-1:1.14.1-9.module_el8.0.0+1060+3ab382d3.noarch
バージョンアップできたようです。
環境確認(バージョンアップ後)
正常にバージョンアップできたか確認します。
nginx -V
コマンドで確認します。
[root@world-of-f ~]# nginx -V
nginx version: nginx/1.22.1
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-18) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
...
dnf module list nginx
コマンドで確認できます。
[root@world-of-f ~]# dnf module list nginx
Last metadata expiration check: 1:45:50 ago on Sat 09 Sep 2023 08:48:59 PM JST.
CentOS Stream 8 - AppStream
Name Stream Profiles Summary
nginx 1.14 [d] common [d] nginx webserver
nginx 1.16 common [d] nginx webserver
nginx 1.18 common [d] nginx webserver
nginx 1.20 common [d] nginx webserver
nginx 1.22 [e] common [i] nginx webserver
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
念のため、 nginx のサービスを再起動
[root@world-of-f ~]# systemctl restart nginx
今回は以上です。
コメント
この記事はコメントがありません。
記事にコメントする