왜 엔진엑스(Nginx)를?
엔진엑스는 고성능의 웹서버이자 프록시 서버이다. 많은 기능이 있지만 모든 사람을 위한 것은 아니다. 보통 엔진엑스를 다음의 방식으로 사용한다:
- 수많은 동시 접속수를 안전하게 처리하기 위해 아파치(Apache)를 대신해 사용 : 엔진엑스는 웹 호스팅 제공업체들 사이에 특히 널리 알려져 있다. 엔진엑스가 epoll과 kqueue를 사용하는 덕분에, 50,000의 동시 접속 수도 보고된 적도 있다.
- 부하분산 프록시 서버(load-balancing proxy server)로 사용: 엔진엑스는 레일즈(Rails)와 PHP 응용프로그램을 FastCGI나 HTTP를 통해서 처리하는 앞단(front-end)으로 널리 알려져있다. C로 작성했고, Perlbal을 쓸 때보다 약 1/4의 CPU만을 사용한다.
- 메일 프록시 서버로 사용: 특정 분야에의 활용이긴 하지만, fastmail.fm이 큰 성공사례다.
- 간단한 설치과정과, 깔끔한 설정파일, 그리고 적은 버그: 엔진엑스는 쉽게 구동할 수 있고, 재시작하는 일이 거의 필요 없고, 심지어는 전혀 정지시간 없이 새 바이너리로 업그레이드할 수 있다.
엔진엑스의 기능과 성능에 대해 더 알고 싶다면, 특징개요와 추천사를 참고하기 바란다.
필요사항
- gzip 모듈을 쓰기 위해서 zlib라이브러리가 필요하다.
- rewrite 모듈을 쓰기 위해서 pcre 라이브러리가 필요하다.
- ssl을 지원하기 위해 openssl 라이브러리가 필요하다.
내려받기
공식 내려받기 페이지를 보자
설치
소스를 받아 압축을 풀고, 터미널에서 아래의 명령을 실행한다.
./configure
make
sudo make install
엔진엑스는 기본적으로 /usr/local/nginx에 설치된다. 컴파일 옵션(compile-time options)을 주어서 이 위치를 바꾸거나 다른 옵션을 선택할 수 있다.
플랫폼별 노트:엔진엑스 실행하기
루트(root)권한으로 /usr/local/nginx/sbin/nginx를 실행한다. 설정파일 /usr/local/nginx/conf/nginx.conf를 원하는대로 편집하고 나서, 다음의 명령으로 설정값을 다시 읽어들일 수 있다:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
nginx.pid파일의 위치는 여러분의 시스템(machine)에 따라 다를 수 있다. 예를들어 우분투(Ubuntu)의 경우에는 다음과 같다:
/var/run/nginx.pid
더볼거리
- 자세한 커맨드라인 옵션과 프로세스 시그널에 대해서는 엔진엑스를 실행하고 제어하기를 참고한다.
- 설정값에 대해 알아보기 위해서는 엔진엑스 모듈을 본다.
- 일반적인 문제들에 대한 해결책을 위해서는 엔진엑스 쿡북을 본다.
- 자주 묻는 질문과 답변
- 그래도 원하는 답을 얻을 수 없다면 엔진엑스 커뮤니티를 살펴본다
댓글을 달아 주세요