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
728x90

가끔 사용중인 리눅스 배포판의 버전과 커널의 버전 확인이 필요할때가 있습니다. 워낙에 배포판도 많고 커널의 버전도 다양하기 때문에 환경에 적합하게 구성된 패키지를 설치하지 않는 경우 이슈가 생길수도 있기 때문이지요. yum 이나 apt-get 으로 설치하는 경우에는 별 문제가 없겠지만 별도로 어플리케이션을 다운로드 받거나 빌드할 필요가 있을때는 버전을 잘~ 맞추어줄 필요가 있습니다.


Cent OS 를 이용하는 경우 아래와 같은 명령을 이용해서 운영체제의 버전과 커널의 버전을 확인할 수 있습니다. redhat 과 같은 다른 배포판 역시 비슷한 네이밍 컨벤션을 사용하고 있기 때문에 해당 폴더에서 어렵지 않게 관련된 파일을 확인할 수 있으니 참고하시기 바랍니다. 자꾸 까먹게 되어 블로그에 기록해 둡니다. 누군가에겐 또 도움이 되리라 믿으며..!!



#cat etc/centos-release

#uname -r 



728x90
728x90

세계적으로 클라우드 서비스를 제공하는 사업자들은 무척 많습니다. 각 사업자들은 각자의 컨셉과 목표를 가지고 클라우드 서비스를 만들고 제공하고 있는데요 아마존의 AWS, 마이크로소프트의 애져(Azure) 등이 대표적입니다. 아마존의 경우 인프라스트럭쳐(IaaS)에 대한 가상화와 클라우드화를 기치로 내걸고 사업을 시작하여 지속적으로 플랫폼의 영역(PaaS)으로 올라오는 중이며 마이크로소프트의 경우 개발자들이 보다 쉽게 개발된 서비스와 코드를 사용자에게 제공할 수 있도록 플랫폼에서 시작하여 인프라스트럭쳐의 영역으로 내려오는 전략을 가져가고 있습니다.


마이크로소프트는 자사의 제품들을 전반적으로 실물 제품에서 가상의 제품, 클라우드화를 지속적으로 진행하고 있기 때문에 이의 연장선상에서 애져의 시장 전략을 가져가고 있습니다. 엊그제 진행된 애져컨(Azure Con)의 키노트에서 마이크로소프트가 꿈꾸는 클라우드 서비스와 방향성을 볼 수 있는 좋은 내용들이 무척 많이 나왔습니다. 그 중에서도 가장 눈에 띄는 것은 아무래도 컨텐츠 전송 부문에서의 협력을 글로벌 CDN 1위 사업자인 아카마이(Akamai)와 한다는 발표가 아닐까 싶습니다.






키노트 세션이었기 때문에 기존의 CDN 을 유지하면서 아카마이의 글로벌 foot-print 를 활용하는 전략인지 아니면 기존의 협력관계였던 EdgeCast 와의 관계를 청산하고 아카마이를 전면에 내세우는 것인지는 자세히 소개되지 않았습니다. 다만 올해 하반기 까지는 제한적으로 고객들을 선별하여 애져 플랫폼 및 상품들과 아카마이를 통한 CDN 을 구현하는 작업을 진행하는 것으로 보이며 일반 고객들이 쓸 수 있는 GA (General Availability)는 내년 초가 되어야 할 것으로 보입니다.





마이크로소프트와 아카마이는 9월 29일 화요일 나란히 이러한 협력관계가 시작되었음을 알리는 공식 블로그 포스팅을 공개했습니다. 클라우드 환경으로 컴퓨팅 자원을 제공하는 회사들, 그 회사들의 서비스를 이용하는 고객들의 공통적인 고민은 "어떻게 글로벌 엔드유저들에게 전송을 빠르게 할 수 있을 것인가?" 입니다. 컴퓨팅 자원을 여러 리전(Region)에 나누어 서비스 하는 것은 쉬운 접근이겠지만 이들의 관리와 형상 유지, 라스트 마일(Last Mile)구간에서 발생하는 속도 이슈에 대한 해결은 쉽지 않은 문제입니다.


이를 위해서 아마존은 클라우드 프론트(Cloud Front)라는 자체 CDN 서비스를 제공하고 애져는 CDN 사업자와의 제휴를 통해 이를 해결하는 비즈니스 모델을 가지고 있습니다. 어떤 접근이 맞고 틀리는지, 혹은 더 좋고 나쁜지는 상황에 따라 다르겠지만 마이크로소프트 애져가 글로벌 1위 사업자인 아카마이와 제휴하여 서비스를 제공하는 것이 더 나은 모델이지 않나 하는 생각이 듭니다.





728x90
728x90

대규모의 사용자 트레픽을 소화하기 위해서는 고민해야 할 것들이 많습니다. 서비스 오리진(Origin) 인프라의 유연함과 적절한 스토리지(Storage)을 확보해야 하는 것은 물론이고 갑작스런 사용자 폭주에 대비하여 충분한 대역폭(Bandwidth)도 갖추어야 합니다. 큰 규모의 기업이라면 그나마 이러한 준비를 하기 위한 투자(CapEx)가 가능하겠지만 작은 규모의 기업(SMB, SOHO)이나 스타트업(Start-up)이라면 열악한 인프라를 이용하여 서비스를 시작하는 경우가 많습니다.


하지만 충분한 재원을 이용하여 인프라를 증식(?)하는 방법은 한계가 있습니다. 가장 단적인 예는 "충분한 대역폭" 에서 찾을 수 있습니다. 갑작스런 서비스의 인기몰이나 이슈가 생겼을 때 폭주하는 사용자 트레픽은 그 규모를 가늠하기가 힘듭니다. 또한 일시적으로 발생하는 이런 스파이크(Spike)를 대비한다고 평상시에 이용되지 않는 대역폭을 계약하여 사용하는 것은 운영 비용(OpEx) 관점에서 효과적이지 않습니다. 그렇다면 이런 문제는 어떻게 해결할 수 있는 것일까요?





흔히 컨텐츠 전송 네트워크(Content Delivery Network, CDN)이라 불리우는 서비스들이 그 해답이 될 수 있습니다. 글로벌 1위 사업자인 아카마이(Akamai)를 비롯하여 최근에는 아마존(Amazon)이나 마이크로소프트 애져(Azure) 등 클라우드 서비스들도 필수적으로 CDN 서비스를 제공하고 있습니다. CDN 전문 사업자들 뿐만 아니라 클라우드 인프라를 제공하는 사업자들까지 CDN 상품을 내놓고 있다는 것은 인프라와 전송 네트워크의 조합이 대규모의 사용자 트레픽을 소화하기 위해서 필수라는 의미로 해석해도 크게 틀리지 않다는 이야기입니다.


아카마이는 최근 마이리틀텔레비전의 컨셉으로 마이리틀CDN 이라는 인터렉티브 세션을 운영하고 있습니다. 다음주 화요일인 9월 22일 오후에 한시간동안 CDN 의 기본적인 동작 원리와 어떻게 활용하면 도움이 될지에 대한 프로그램이 방송될 예정이라고 합니다. CDN 서비스를 제공하는 사업자들 별로 저마다의 특징과 차별화 포인트를 가지고 있지만 기저에 깔려 있는 기본적인 스킴은 어느정도 비슷하기 때문에 CDN 에 대한 기본적인 소양을 쌓고 글로벌에서 성공할 미래의 내 서비스를 위해 지식의 폭을 넓힐 수 있는 기회가 될 수 있을거란 생각이 듭니다!


아카마이 마이리틀CDN - "CDN의 원리와 활용 기본" 무료 사전등록 [바로가기]



728x90

+ Recent posts