## if 지시어 내에 다른 지시어를 넣지 마라 http://docs.ngx.cc/en/latest/topics/depth/ifisevil.html if 지시어 안에서 안전한 건, `return`, `rewrite` 지시어 뿐이다. 같은 조건의 if 구문이 여러 개 존재한다면, 마지막으로 정의한 것만 호출될 것이고, if 구문이 호출되면 if 구문 외부의 지시어는 호출되지 않을 수 있다. ## if 구문보단 `try_files`를 사용하라. http://stackoverflow.com/questions/869001/how-to-serve-all-existing-static-files-directly-with-nginx-but-proxy-to-apache ## 서비스 적용 예제http://blog.argt..
엔진엑스의 풍부한 기능은 모듈에서 나오고,애플리케이션 전체가 모듈을 기반으로 작동한다. 각 모듈의 사용 여부는 컴파일 때 결정된다. ## 재작성 모듈 (rewrite 모듈) URL 재작성을 목적으로 만든 모듈이다.재작성 모듈을 이용해서 웹사이트의 페이지 속성을 나타내는 유용한 정보가 포함된 링크 주소를 사용할 수 있다.예) http://website.com/article-1234-economy-strenghens.html 이런 해법으로 방문자 뿐 아니라 검색 엔진의 관심도 끌 수 있기 때문에,URL 재작성은 검색 엔진 최적화(SEO)를 위해서 핵심적인 요소다. 클라이언트가 요청한 URI를 웹 서버가 수신하고, 해당 파일을 서비스하기 전에 URI를 재작성하는 매커니즘이다. 그런 후 재작성된 URI를 loc..
## HTTP 코어 모듈 HTTP 서버의 핵심적인 블럭, 지시어, 변수를 포함한다.엔진엑스를 빌드할 때 기본적으로 포함된다. ## 대표 블럭 ### 구조 블럭 HTTP 모듈은 아래와 같은 세 가지 새 논리적 블럭을 제공한다.프로토콜 수준(http 블럭), 서버 수준(server 블럭), 요청 URI 수준(location) - http 이 블럭 안에서 엔진엑스의 HTTP 부문과 관련된 모든 모듈의 지시어와 블럭을 정의한다. - server 하나의 웹사이트를 선언하는 데 사용한다. (호스트별) http 블럭 안에서만 사용할 수 있다. - location 웹사이트의 특정 위치에 적용할 설정 그룹을 정의한다. server 블럭이나 다른 location 블럭 안에 삽입할 수 있다. ## 모듈 지시어 표현 방법: ..
## 기본 설정 기본 설정 파일의 경로는 `/usr/local/nginx/conf/nginx.conf` - `#`는 주석- 지시어는 항상 세미콜론(`;`)으로 끝난다.- 엔진엑스는 모듈 구조로 작동하며, 각 모듈은 특정 지시어의 묶음 형태로 제공된다. 가장 기본적인 지시어들은 코어 모듈에 포함돼 있다.- `include` 지시어는 특정 파일을 포함하는 기능 파일 글로빙을 지원한다. 예) include /sties/*.conf- `include`를 할 때 파일이 존재하지 않으면 환경 설정 테스트에 실패한다. - 설정 파일의 관습 - nginx.conf : 기본 환경 설정 - mime.types : 파일 확장명과 MIME 타입 목록 - fastcgi.conf : FastCGI 관련 설정 - proxy.con..
## 소스 코드를 통한 설치 패키지 매니저를 통해 설치할 수도 있지만, 옵션 등을 제어하려면 소스 코드를 직접 컴파일하는 것이 좋다. ## 의존 라이브러리 ### pcre 엔진엑스를 컴파일하려면 펄 호환 정규표현식(PCRE, Perl Compatible Regular Expression)이 필요하다. 재작성 모듈(rewrite)과 HTTP 코어 모듈이 PCRE 구문에 따른 정규표현식을 사용하기 때문이다. `pcre`와 `pcre-devel` 의 설치가 필요하다.`pcre`는 컴파일된 버전의 라이브러리이고, `pcre-devel`은 프로젝트를 컴파일하기 위한 개발용 헤더와 소스코드이다. $ yum install pcre pcre-devel $ apt-get install libpcre3 libpcre3-d..
발생일: 2013.12.06 키워드: nginx, 엔진엑스 문제: 이번 프로젝트에선 nginx 로 웹서버를 운영하기로 했다.아직 한 번도 사용해본 적이 없었는데, 마침 옆자리 D가 예전에 사둔 책이 있다며 가져다줬다. Nginx HTTP Server 라는 책이었는데, 이해하기 쉽게 설명도 잘 되어있고 좋았다.(지금 찾아보니 평점이 썩 좋진 않다. 난 좋던데... -_-a ㅎㅎ) 책 보며 정리했던 것에 몇 가지 설명을 덧붙여 옮겨둔다. 해결책: ## nginx 를 구동할 사용자 계정 생성 사용자 계정 확인$ cat /etc/passwd 쉘 접근 권한이 없는 상태로 홈 디렉토리를 지정해 추가하기$ useradd --shell /sbin/nologin --home-dir /usr/local/nginx ngin..