Nginx/ko

nginx는 견고하고 작은 고성능 웹 서버이며 역방향 프록시 서버입니다. 아파치 또는 lighttpd와 같은 현존하는 유명 웹서버 대신 사용하기에 좋습니다.

설치
꾸러미를 바로 설치하기 전에, 먼저 nginx에 대한 USE 플래그를 살펴보는 것이 좋습니다.

확장 USE 플래그
nginx는 기능을 확장하기 위해 모듈을 활용합니다. 모듈식 접근을 간편하게 하기 위해 nginx에서는 확장 USE 플래그( USE_EXPAND )를 활용하여 어떤 모듈을 설치해야 할지 표기합니다.


 * HTTP 관련 모듈은 NGINX_MODULES_HTTP 변수로 활성화할 수 있습니다.
 * 전자메일 관련 모듈은 NGINX_MODULES_MAIL 변수로 활성화할 수 있습니다.
 * 서드파티 모듈은 NGINX_ADD_MODULES 변수로 활성화할 수 있습니다.

이 변수는 에 설정해야 합니다. 설명은 와 에 있습니다.

예를 들어  모듈을 활성화하려면:

NGINX_MODULES_HTTP 기본 값을 엎어 쓰고 로 설정합니다. NGINX_MODULES_HTTP 기본 값을 덮어쓰지 않고  모듈을 활성화하려면, 다음 USE 플래그 표기를  에 지정할 수 있습니다:

Emerge
USE 플래그를 설정한 후 를 설치하십시오:

설치 검증
기본 nginx 설정에서는 가상 서버의 루트 디렉터리를 로 설정했습니다. 그러나  버그 때문에 nginx를 빌드하고 나면 index 파일을 만들지 않고  디렉터리만 만듭니다. 기본 설정을 동작하게 하려면   디렉터리를 만들고 간단한 index 파일을 넣으십시오:

nginx 꾸러미는 관리자가 서비스를 멈추고 시작하고 다시 시작하도록 하는 초기화 서비스 스크립트를 설치합니다. 다음 명령을 실행하여 nginx 서비스를 시작하십시오:

nginx가 동작중인지 확인하려면 웹 브라우저 또는 같은 다음 명령행 웹 도구에게 http://localhost 주소를 제시하십시오:

설정
nginx 설정은 파일에서 다룹니다.

단일 사이트 접근
다음 예제는 (PHP 같은) 동적 기능을 뺀 단일 사이트 접근을 보여줍니다.

다중 사이트 접근
설정을 여러 파일로 쪼개기 위해  지시어를 활용할 수 있습니다.

PHP 지원
다음 줄을 추가하여 nginx 설정에서 PHP 지원을 활성화하도록 하십시오. 이 예제에서 nginx는 유닉스 소켓을 통해 PHP 프로세스와 정보를 교환합니다.

이 설정 과정을 지원하려면, PHP에서 FastCGI 프로세스 관리자 지원과 빌드해야 하며, 이 지원 사항은  USE 플래그를 통해 처리할 수 있습니다:

USE 플래그를 활성화 한 상태에서 php를 다시 빌드하십시오.

설정을 검토하고 다음 줄을 추가하십시오:

For PHP 7.0 and newer configuration file is slightly different:

php-fpm 파일에서 시간대를 설정하십시오. 하단의 파일 상자에서  부분을 적합한 시간대 정보로 바꾸십시오:

데몬을 시작하십시오:

기본 런레벨에 을 추가하십시오:

바뀐 설정 내용으로 를 다시 불러오십시오:

IP 주소 접근 목록
다음 예제에서는 각각의 URL(이 경우 )에서 다음에 대해서만 접근을 허용하는 방법을 보여줍니다


 * 각각의 호스트 (예: 192.0.2.1 127.0.0.1)
 * IP 네트워크 (예: 198.51.100.0/24)

기본 인증
nginx에서는 사용자 이름과 암호를 검증하는 방식으로 자원 접근을 제한할 수 있습니다:

The file can be generated using:

서드파티 모듈
서드 파티 모듈 소스를 다운로드하고 로 옮겨놓으십시오. 선택한 nginx 모듈을 직접 컴파일한 후, 에 모듈 이름을 추가하십시오:

서드파티 모듈을 활성화하려면 nginx를 다시 빌드하십시오:

OpenRC
nginx를 시작하십시오:

nginx를 멈추십시오:

nginx를 기본 런레벨에 추가하십시오:

Reload nginx configuration without dropping connections:

nginx를 다시 시작하십시오:

systemd
Start nginx web server:

Stop nginx web server:

Check the status of the service:

Enable service to start automatically on system reboot:

Reload nginx configuration without dropping connections:

Restart the nginx service:

문제 해결
이 문제의 경우 다음 명령이 상태 문제를 해결하는데 도움을 줍니다.

설정 확인
nginx 설정에 오류가 없는지 확인하십시오:

에  옵션을 추가하여 실행하면,  데몬을 실제로 시작하지 않고도 설정 파일을 확인합니다.

프로세스 실행 확인
프로세스가 실행 중인지 확인하십시오:

범위 주소 및 포트 확인
nginx 데몬이 올바른 TCP 포트에 대한 응답을 기다리는지 확인하십시오(HTTP에 대해서는 80, HTTPS에 대해서는 443):

추가 참조

 * Apache - 인터넷에서 사용하는 가장 인기있는 HTTP 서버.
 * Lighttpd - 빠르고 가벼운 웹 서버

외부 자료

 * http://nginx.org/en/docs/beginners_guide.html - 초보자 안내서. 에 대해 잘 알지 못하는 이들에게 도움을 줍니다.
 * http://nginx.com/resources/admin-guide/ - 관리자 안내서. 현업에서 일하는 웹 관리자에게 도움을 줍니다.
 * http://wiki.nginx.org/Main - nginx 위키.
 * https://github.com/h5bp/server-configs-nginx - H5BP nginx 설정.