Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

[Book] Nginx HTTP Server 한국어판

Nginx HTTP Server 한국어판

Nginx HTTP Server 한국어판 - 6점
클레먼트 네델쿠 지음
김득권 옮김
에이콘출판

이벤트 기반의 웹서버인 nginx에 대한 책입니다. nginx(엔진엑스라고 읽습니다.)는 세계에서 가장 많이 사용되는 웹서버인 Apache 웹서버를 대체할 차세대 웹서버로 주목받고 있습니다. 해외에서는 이미 많이 사용되고 있는 걸로 알고 있고 국내에서도 최근에 많은 주목을 받고 있습니다. 책에 대한 좋고 나쁨을 말하기 전에 일단 현재 국내에서 nginx에 대한 책은 이 책 뿐이기 때문에 nginx의 문서Wiki만 보고 사용하기가 어려워서 참고할 내용이 필요하다면 이 책 외에는 선택권이 없습니다.

PACKT책의 컨셉은 약간 트랜드로 올라온 신기술을 빠르게 보급하고자 하는 의도로 생각하고 있는데(모든 책을 읽어본 것은 아닙니다.) 이 책도 비슷한 컨셉을 가지고 있습니다. Nginx에 입문하고자 하는 사람들을 타게팅으로 하고 있는 것으로 보이며 전체적으로 봤을때는 번역도 괜찮은 편이고 기초적인 내용을 잘 다루고 있습니다.

1장은 작업환경준비인데 PuTTY를 이용한 쉘 접속부터 쉘명령어, 리눅스 파일시스템, 시스템 관리도구등을 설명하고 있습니다. 사실 이부분은 nginx에 대한 내용이라기 보다는 리눅스 서버에 접속해서 작업을 하고자 할 때 알아야 하는 배경지식에 가깝습니다. 리눅스를 어느 정도 쓰는 사람들에게는 너무 기초적인 내용일 수도 있지만 리눅스를 잘 모르는 개발자들에게는 nginx를 만지기 전에 이런 사용법에 대해서도 힘들어 할 것이므로 간단히 리눅스의 사용체계를 이용하는데 괜찮아 보입니다. 다른 이유로 리눅스의 기본적인 쉘을 이해할 필요가 있을 때 1장을 읽어보면 약간 도움이 될 듯 합니다.

2장 부터는 nginx의 설치가 나오는데 꽤 자세하게 설명해 주기 때문에 설치하는데 어려움이 없을 듯 합니다. 이 책은 nginx의 활용에 대한 부분은 기본적이 사용방법에 더 주력하고 있습니다. 그래서 3,4,5장에 걸쳐서 설정에 대한 내용이 나옵니다. 당연히 웹서버인 만큼 대부분의 사용법은 설정이나 마찬가지므로 설정파일의 문법과 여러가지 모듈에 대해서 어떻 옵션이 있고 어떤 용도에 사용하는지 설명하고 있습니다. 좀 사용하다보면 이러한 옵션들은 책보다는 레퍼런스 문서를 찾아보는게 빠르겠지만 처음 nginx를 배우면서 어떤 기능들이 있는지 파악하는데 괜찮다고 생각합니다.

6,7장은 본격적으로 웹서버에서 가장 많이 사용할 리버스 프록시로서의 역할에 대해서 설명하고 있습니다. 여기서 설명하는 것은 FastCGI를 통해서 PHP와 파이썬의 장고와 연결하는 방법과 뒷단에 기존 아파치를 두고 nginx를 리버스 프록시로 사용하는 방법을 설명합니다. 제가 PHP나 파이썬쪽을 쓰지 않아서 그런지 CGI자체를 만져본지가 너무 오래되서 사실 FastCGI는 많이 쓰는 것인지 잘 모르겠습니다. 보통은 뒤에 WAS를 두고(언어가 무엇이든지) nginx를 리버스 프록시로 쓰는 것이 가장 일반적인 형태(꼭 리버스 프로식의 형태는 아닐수도 있지만요)가 아닌가 생각했는데 생각보다 리버스 프록시에 대한 설명은 약하지 않았나 생각합니다. 실제로 리버스 프록실 제대로 사용하려면 책으로 기본 개념 정도만 잡고 세부적인 부분은 문서나 인터넷을 검색해야 할 것으로 보입니다. 그리고 어차피 리버스 프록시라서 내용을 응용해서 사용하면 똑같기는 하지만 뒷단을 WAS가 아닌 아파치를 두어서(아파치의 기능때문에 완전히 없애지 못할때의 과도기 적인 방법으로 이 책에서 제시한 방법입니다.) 아파치를 같이 설명하면서 하기 때문에 초보자들에게는 WAS와 연결하는 리버스 프록시로 사용하려면 약간 헷갈릴 수 있겠다는 생각이 듭니다. 8장은 apache를 nginx로 교체할 때를 위한 설정의 비교입니다. 8장은 읽을때는 재미없는 장이기는 하지만 apache를 교체해야 한다면 꽤 참고가 될만한 내용이라 생각됩니다.

아파치를 너무 오래 써왔기 때문에 nginx로의 교체에 대해서 의구심을 가지는 개발자가 많이 있다고 생각합니다. 사실 기술에서 이제 대세니까 무조건 바꾸어야 한다고 말하고 싶진 않습니다. 하지만 nginx가 더 위력을 발휘할 서비스들이 있기 때문에 기본적인 내용을 파악해 두는 것은 좋다고 생각하고 그런 면에서 기본적인 내용을 다뤄주는 이 책은 괜찮은 가이드를 줍니다.  다만 아쉬운 점은 이 책의 원서는 2010년 7월에 나왔는데 역서는 2011년 10월에나 나왔습니다. nginx는 그동안 많은 발전을 이루어서 이 책은 0.7.66 버전을 기반으로 하고 있고 nginx의 최신 버전은 1.1.15입니다. 계속 nginx를 쓰던 것이 아니라 얼마나 달라졌는지 알 수 없기는 하지만 버전의 차이를 봤을 때는 달라진 부분은 좀 있을 것으로 보입니다. 이 두 버전간의 차이를 이해하는 것도 독자에겐 약간 부담이라 그런 부분에 대해서 설명이 있었으면 하는 아쉬움이 남더군요.

이 책에서 nginx를 묘사한 다음 내용이 참 인상적이더군요.

아파치는 마치 마이크로소프트 워드 같다. 수백만 개의 옵션이 있지만 사람들은 단지 여섯개만 사용한다. 그 여섯 개의 옵션은 엔진엑스에도 있고 그 중 다섯 개는 아파치보다 50배나 빠르다.
2012/02/21 00:12 2012/02/21 00:12