nginx 에서 mirror 모듈을 쓰기 위해 사용중인 버전 (1.12.x) 에서
해당 모듈을 지원하는 최신 버전으로 업데이트를 했습니다.
특별히 문제가 없겠지라고 생각했지만 역시 문제가 생겼으며
에러 메세지에서 단서를 찾아볼 수 있었습니다. =_=
에러의 내용을 붙여넣어 보자면 아래와 같습니다.
기본적으로 설치된 모듈의 버전과 업데이트를 통해 설치된 버전이 차이가 있었던 것 같습니다.
적절한 경로의 버전을 로딩하게 하는 방법을 찾는 것보다 더 쉬운 방법은 없을까 찾아보니 역시 있더군요.
[emerg] module "/usr/lib64/nginx/modules/ngx_http_geoip_module.so" version 1012002 instead of 1016000 in /usr/share/nginx/modules/mod-http-geoip.conf:1
모듈로 인한 문제가 발생했을 때 가장 쉽게 처리하는 방법은 재설치!
yum 을 이용해서 nginx 공식 레파지토리를 썼기 때문에
일단 현재의 모든 모듈을 삭제하고 공식 레파지토리의 모듈로 재설치를 진행했습니다.
// 설치된 모듈을 삭제합니다
$ sudo yum remove nginx-mod*
// 공식 레파지토리에서 새로운 모듈을 설치합니다
$ sudo yum install nginx-module-*
이후 nginx 를 재기동하니 문제없이 로딩 완료!
참고로 공식 레파지토리를 이용하기 위해서는
아래와 같이 레파지토리 정보를 등록하시면 됩니다.
mainland 버전을 사용하지 않는다면, 두번째의 섹션은 불필요합니다.
// 경로 : /etc/yum.repos.d/nginx.repo
// 참고 : http://nginx.org/en/linux_packages.html#RHEL-CentOS
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key