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

今回は以上です。


コメント

この記事はコメントがありません。

記事にコメントする