일반적인 Nginx 버전 업그레이드가 아닌 EOS된 Amazon Linux2에서의 버전 업그레이드 입니다.
Amazon Linux 2에서 제공하는 amazon-linux-extras를 통해 설치 가능한 Nginx 버전은 1.22.1까지만 지원되며, 이는 보안적으로 최신 상태가 아닙니다. 그러나 1.26.2 이상의 버전을 신속하게 사용해야 하는 상황이 발생한다면, AWS에서는 더이상 업데이트 계획이 없기때문에 외부 저장소를 추가하여 최신 버전으로 업그레이드할 수 있습니다.
AWS 답변
Amazon Linux 2는 "AL2 End of Life is 2025-06-30" 예정이며,
고객님과 동일한 사례의 내역을 살펴 보면 현재로서는 "amaon-linux-extra를 통한 nginx package version"
신규 버전 지원은 예정에 없는 것으로 파악 됩니다.
이 글에서는 Amazon Linux 2에서 새로운 저장소를 추가하여 Nginx를 최신 안정 버전으로 업그레이드하는 방법을 다룹니다.
sudo vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/amzn2/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
priority = 1
sudo yum-config-manager --enable nginx-stable
sudo yum clean all
# 리스트 확인
sudo yum --showduplicate list nginx
# install 하면 모듈 충돌 발생함
sudo yum install -y nginx
rpm -qa | grep nginx
# 이런 모듈들 있음
nginx-filesystem-1.22.1-1.amzn2.0.4.noarch
nginx-mod-http-xslt-filter-1.22.1-1.amzn2.0.2.x86_64
nginx-1.22.1-1.amzn2.0.4.x86_64
nginx-mod-stream-1.22.1-1.amzn2.0.2.x86_64
nginx-core-1.22.1-1.amzn2.0.4.x86_64
nginx-mod-http-image-filter-1.22.1-1.amzn2.0.2.x86_64
nginx-mod-http-perl-1.22.1-1.amzn2.0.2.x86_64
nginx-mod-http-geoip-1.22.1-1.amzn2.0.2.x86_64
# nginx-core는 지우면 nginx.conf가 삭제됨 주의해야함
# nginx-core 제외 충돌 발생하는 모듈만 삭제해야함
sudo yum remove nginx-mod-http-xslt-filter nginx-mod-http-geoip nginx-mod-http-perl nginx-mod-http-image-filter nginx-mod-mail nginx-mod-stream -y
# 모듈 지우고 install 해보면 nginx-core 패키지 충돌 오류남
sudo yum install -y nginx
sudo yum swap nginx-core nginx -y
yum list available --disablerepo=amzn2extra-nginx1 --enablerepo=nginx-stable | grep nginx-mod
sudo yum install nginx-module-geoip nginx-module-image-filter nginx-module-perl nginx-module-xslt -y --disablerepo=amzn2extra-nginx1 --enablerepo=nginx-stable
sudo systemctl daemon-reload
sudo systemctl restart nginx
#버전 확인
nginx -v