Nginx를 컴파일하다가 다음 오류를 만났습니다.
./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option.
즉, HTTP rewrite 모듈을 사용하려면 PCRE 라이브러리가 먼저 필요합니다. rewrite 모듈을 쓰지 않을 계획이라면 --without-http_rewrite_module 옵션으로 제외할 수도 있지만, 일반적으로는 PCRE를 설치한 뒤 Nginx를 다시 configure하는 방식이 무난합니다.
PCRE 다운로드
다운로드 경로는 다음과 같습니다.
http://sourceforge.net/projects/pcre/files/pcre/
저는 pcre-8.34.tar.gz를 다운로드했고, OS X에서 컴파일을 시도했습니다.
컴파일 옵션을 잘 몰라서 우선 --prefix만 지정했는데 정상적으로 끝났습니다.
설치 후 확인
PCRE를 설치한 뒤에는 Nginx의 ./configure를 다시 실행해 같은 오류가 사라지는지 확인하면 됩니다. 만약 시스템 경로에서 PCRE를 찾지 못한다면, 오류 메시지에 나온 것처럼 Nginx configure 단계에서 --with-pcre=<path> 옵션으로 PCRE 소스 경로를 직접 지정하는 방법도 있습니다.
정리하면, 이 오류는 Nginx 자체의 문제가 아니라 rewrite 모듈이 의존하는 PCRE 라이브러리를 찾지 못해서 발생한 것입니다. PCRE를 설치하거나, rewrite 모듈을 제외하거나, Nginx 빌드 시 PCRE 소스 경로를 지정하면 해결할 수 있습니다.