事象
既にNginxをインストールしている環境にNginx Plusをインストールをすると以下のエラーとなる。
# yum install -y nginx-plus ... Downloading Packages: nginx-plus-30-2.amzn2023.ngx.x86_64.rpm 1.2 MB/s | 3.5 MB 00:02 ------------------------------------------------------------------------------------------------------------------------------------- Total 1.2 MB/s | 3.5 MB 00:02 Running transaction check Transaction check succeeded. Running transaction test The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'yum clean packages'. Error: Transaction test error: file /etc/nginx/mime.types from install of nginx-plus-30-2.amzn2023.ngx.x86_64 conflicts with file from package nginx-mimetypes-2.1.49-3.amzn2023.0.3.noarch file /etc/logrotate.d/nginx from install of nginx-plus-30-2.amzn2023.ngx.x86_64 conflicts with file from package nginx-core-1:1.24.0-1.amzn2023.0.2.x86_64 file /etc/nginx/nginx.conf from install of nginx-plus-30-2.amzn2023.ngx.x86_64 conflicts with file from package nginx-core-1:1.24.0-1.amzn2023.0.2.x86_64 file /usr/sbin/nginx from install of nginx-plus-30-2.amzn2023.ngx.x86_64 conflicts with file from package nginx-core-1:1.24.0-1.amzn2023.0.2.x86_64 file /var/lib/nginx from install of nginx-plus-30-2.amzn2023.ngx.x86_64 conflicts with file from package nginx-core-1:1.24.0-1.amzn2023.0.2.x86_64 file /var/log/nginx from install of nginx-plus-30-2.amzn2023.ngx.x86_64 conflicts with file from package nginx-core-1:1.24.0-1.amzn2023.0.2.x86_64
環境情報
# nginx -v nginx version: nginx/1.25.1 (nginx-plus-r30-p1)
原因/解決策
既存のnginxと競合を起こしているため、アンインストールを行う。(下記では/etc/nginx/nginx.confは/etc/nginx/nginx.conf.rpmsaveとしてバックアップされているが、事前に必要な情報は保存推奨)
# yum remove nginx ... Removing: nginx x86_64 1:1.24.0-1.amzn2023.0.2 @amazonlinux 128 k Removing unused dependencies: generic-logos-httpd noarch 18.0.0-12.amzn2023.0.3 @amazonlinux 21 k gperftools-libs x86_64 2.9.1-1.amzn2023.0.3 @amazonlinux 1.4 M libunwind x86_64 1.4.0-5.amzn2023.0.2 @amazonlinux 165 k nginx-core x86_64 1:1.24.0-1.amzn2023.0.2 @amazonlinux 1.6 M nginx-filesystem noarch 1:1.24.0-1.amzn2023.0.2 @amazonlinux 0 nginx-mimetypes noarch 2.1.49-3.amzn2023.0.3 @amazonlinux 43 k ... warning: /etc/nginx/nginx.conf saved as /etc/nginx/nginx.conf.rpmsave ... Complete!
この状態で再度インストールを行うと正常に完了する。
# yum install -y nginx-plus ... Thank you for using NGINX! ... Installed: nginx-plus-30-2.amzn2023.ngx.x86_64 Complete!
以下、補足です。
補足
Nginx Plusをインストールする場合はリポジトリ設定が必要で、Aamazon Linuxの場合の手順は以下。公式サイトにも記載があります。
# wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/plus-amazonlinux2023.repo ... - ‘/etc/yum.repos.d/plus-amazonlinux2023.repo’ saved [198/198]
リポジトリ設定には証明書ファイル名のパスが記載されているので
$ cat /etc/yum.repos.d/plus-amazonlinux2023.repo ... sslclientcert=/etc/ssl/nginx/nginx-repo.crt sslclientkey=/etc/ssl/nginx/nginx-repo.key gpgcheck=0 enabled=1
MyF5からダウンロードした証明書ファイルと鍵ファイルを配置します。
# file /etc/ssl/nginx/nginx-repo.crt /etc/ssl/nginx/nginx-repo.crt: PEM certificate # file /etc/ssl/nginx/nginx-repo.key /etc/ssl/nginx/nginx-repo.key: ASCII text, with CRLF line terminators
本来はこの状態まで来ればインストール可能ですが、既に別のNginxが入っている場合は表題のエラーとなる可能性があるのでご注意ください。
尚、NGINX Plusのステータスは以下のように確認できました。
# systemctl status nginx ● nginx.service - NGINX Plus - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; preset: disabled) Active: active (running) since Wed 2023-12-13 05:59:10 UTC; 4s ago Docs: https://www.nginx.com/resources/ Process: 34332 ExecStartPre=/usr/libexec/nginx-plus/check-subscription (code=exited, status=0/SUCCESS) Process: 34336 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 34337 (nginx) Tasks: 2 (limit: 1114) Memory: 2.0M CPU: 18ms CGroup: /system.slice/nginx.service ├─34337 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" └─34338 "nginx: worker process"
以上、ご参考になれば幸いです。