ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • nginx 업데이트 후 재시작 되지 않는 문제의 해결
    Infrastructure/Server 2019. 5. 22. 14:43

    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

     

     

     

    댓글 0

NoPD