728x90

nginx 에서 mirror 모듈을 쓰기 위해 사용중인 버전 (1.12.x) 에서

해당 모듈을 지원하는 최신 버전으로 업데이트를 했습니다.

 

특별히 문제가 없겠지라고 생각했지만 역시 문제가 생겼으며

에러 메세지에서 단서를 찾아볼 수 있었습니다. =_=

 

sudo systemctl status nginx 명령으로 에러 원인 확인!

에러의 내용을 붙여넣어 보자면 아래와 같습니다.

기본적으로 설치된 모듈의 버전과 업데이트를 통해 설치된 버전이 차이가 있었던 것 같습니다.

적절한 경로의 버전을 로딩하게 하는 방법을 찾는 것보다 더 쉬운 방법은 없을까 찾아보니 역시 있더군요.

 

[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

 

 

 

728x90

+ Recent posts