컴퓨터프로그래밍

Nginx의 : 설치 및 설치

아파치, nginx를 무엇입니까? 목적, 기능, 사용자 정의 옵션 -이 모든 웹 개발자가 개발 테스트에 익숙해야하는 일이다.

Nginx에 대해 한 마디

이 도구는 하나 개의 주 여러 워크 플로우를 가지고있다. 읽기 및 구성 검증과 첫 거래. 또한 자사의 통제하에 워크 플로우 관리입니다. 과거의 문제는 - 들어오는 요청을 처리합니다. 이벤트 기반으로 nginx를 사용하는 모델. 메커니즘은 직접 작업자 프로세스 사이의 효율적인 할당 요청을 달성하기 위해 운영 체제에 따라 사용됩니다. 이들의 수는 항상 구성 파일에 표시됩니다. 이 값은 고정되거나 처리 될 수있는 프로세서 코어의 수에 의해 안내, 자동으로 설정 될 수 있습니다. 시스템 및 모듈 Nginx의 구성에 구성 파일을 사용하여 수행된다. 당신이 뭔가를 변경해야하는 경우 따라서, 당신은 그의 이름을 찾습니다해야합니다. 보통은이 지침은 / etc / nginx를에 (그러나 경로는 다른 시스템과 다를 수 있음) 및 확장의 .conf 있습니다.

시작, 다시 시작 및 로그

이렇게하려면 실행 파일을 실행해야합니다. 이 시작할 때의 nginx 서버 구성에만 가능합니다. 관리는 -s 매개 변수를 사용하여 실행 파일을 호출하는 감사를 실시한다. 이렇게하려면 다음을 사용 :

Nginx의 신호 -s

이 경우 (도구를 시작한 사용자로부터 와야합니다) 다음 명령을 대체 할 수 있습니다 :

  1. 중지합니다. 그것은 빠른 종료에 사용됩니다.
  2. 새로 고침. 이 팀은 구성 파일을 다시로드 할 필요가 있었다. 사실은 파일이 작동 할 때까지 변경 사항이 적용되지 것입니다. 을 적용하기 위해 재부팅이 필요합니다. 즉시 당신이이 신호를 얻을로, 주요 프로세스는 구성 파일의 구문 요소의 정확성을 확인하고이 지침을 사용할 적용하려고하기 시작합니다. 실패의 경우, 다시 변경을 롤백하고 이전 매개 변수와 함께 작동합니다. 모든 성공하면 새로운 워크 플로우를 시작하며, 이전은 수요 엔드로 전송됩니다.
  3. 종료합니다. 작업의 원활한 완성을 위해 사용됩니다. 현재 요청이 유지 완료 될 때까지 대기 할 경우 사용됩니다.
  4. 다시 엽니 다. 닫기 로그 파일을 연다.

유틸리티를 사용하여

설정 방법은 (명 유틸리티는 예를 들어 설명한다) 유닉스 수단을 사용하여 수행 될 수있다. 그들은 일반적으로 프로세스 데이터에 직접 신호를 전송하는 메커니즘을 사용합니다. 그들은 ID에 의해 연결되어 있습니다. 이 데이터는 nginx.pid 파일에 저장됩니다. 우리가 과정 №134에 관심이 있다고 가정하자. 그런 다음, 필요의 원활한 완성을 위해 다음 정보를 보내합니다 :

1628을 종료 -s 죽일

우리가 열려있는 모든 파일의 목록을보고 싶어한다고 가정하자. 우리는 유틸리티 PS를 사용하고 있습니다. 다음과 같이 팀은 볼 것이다 :

추신의 -ax | 그렙의 nginx

추가 장비가 그것의 응용 프로그램을 진행 나타냅니다 사용하여 볼 수있는 즉,. 그리고 지금의 방법 헌신의 nginx 구성에 초점을 맞출 수 있습니다.

구성 파일의 구조

설치 및 nginx를 구성 모듈로 작업이 포함되어 있습니다. 그들은 구성 파일에 지정된 지시어를 사용하여 구성됩니다. 그들은 단순 또는 블록이 될 수 있습니다. 첫 번째 유형은 공간으로 분리 된 지시 및 파라미터로 구성되며, 그 단부는 세미콜론으로 표시되는 - (+). 블록은 유사한 구조를 갖는다. 하지만 그 대신 중괄호 ({} 지침)에 배치됩니다 지침의 추가 설정에 위치한이 지침의 폐쇄. 그들은 이름과 프로세스의 다른 매개 변수를 게시 할 수있는 경우, 호출 등의 구조물은 상황이있다. 예를 들어, HTTP, 위치 및 서버로.

정적 콘텐츠의 분포

이것은 nginx를 구성 직면 한 가장 중요한 과제 중 하나입니다. 내용의 통계적 분포에 따라 의미 이미지와 HTML-페이지 (동적이지)입니다. 우리는 클러스터 괜찬의 nginx 설정에 하나의 작업을 필요로한다고 가정하자. 그것은 그렇게 어려운가요? 아니, 예를 살펴 보자. 그것은에 착수하기 전에, 문제의 조건 세부 사항에 필요하다. 따라서, 요청에 따라 파일은 다양한 지역 디렉토리에서 올 것이다. 따라서, / 데이터 / www가에서 우리는 HTML-문서가 있습니다. 그리고 디렉토리 / 데이터 / 이미지에 이미지를 포함. 이 경우 최적의 설정 nginx를 사용하면 HTTP 내에서 서버 장치를 구성해야합니다 구성 파일을 편집 할 필요합니다. 두 위치로 사용됩니다 지원합니다.

구현 : 서버

그래서, 우리는 먼저 디렉토리를 작성하고 확장해야합니다 (HTML로 콘텐츠를 추가해야합니다) 파일에 자신을 배치해야합니다. 그런 다음 구성 파일을 엽니 다. 그것의 기본 서버가 이미 대부분의 주석 몇 가지 블록을 가지고 있습니다. 최적의 결과를 달성하기 위해,이 과정은 기본적으로 모든 구성 요소와 관련하여 수행해야합니다. 그런 다음이 코드를 사용하여 새 서버 장치를 추가 :

HTTP {

서버 {

}

}

구성 파일은 이러한 여러 블록으로 작업 할 수 있습니다. 하지만 그들은 자신의 이름과 데이터가 수신되는 포트에 의해 구별해야합니다.

구현 : 위치

서버 내에서 결정 :

위치 / {

루트 / 데이터 / WWW;

}

기호의 존재는 "/", 얻어진 데이터를 비교 및 어드레스 여기에서 처리 요구가 있는지를 확인할 필요가있다. 아무런 문제가없는 경우, 로컬 시스템에있는 원하는 파일의 경로 / 데이터 / WWW를 지정합니다. 몇 블록과 일치하는 경우, 가장 긴 접두사를 선택합니다. 이 예에서, 길이는 하나의 동일, 즉, 사용에는 "경쟁"이없는 경우에 독점적으로 될 것입니다. 자,이 업데이트됩니다 보자 :

위치 / 이미지 / {

루트 / 데이터;

}

식별 할 수있는 방법, 우리는 이미지를 찾고 있습니다. 이제, 이전이었고, 다음이 시간에 구성이 모든 개발을 결합하자 :

서버 {

위치 / {

루트 / 데이터 / WWW;

}

위치 / 이미지 / {

루트 / 데이터;

}

}

이 경우, 표준의 작업 버전 포트 №80. HTTP : // localhost를 / 당신이 주소로 가면 아무 문제없이이 서버는 컴퓨터에서 사용할 수 있습니다. 이 모든 어떻게 작동합니까?

예제의 작동 원리

그들은 / 이미지로 시작 쿼리에 올 때, 해당 디렉토리에 파일 서버는 사용자에게 전송됩니다. 다음, 로컬 컴퓨터의 요청에 http의 nginx 구성을 수행하면 그의 부재에서 오류 (404)를 나타내는 정보를 제공한다 : //localhost/images/example.png 우리는 누구의 위치 /data/images/example.png 파일을 얻을 것이다. 당신은 "/"기호 검색 디렉토리 / 데이터 / www가 진행됩니다 지정합니다. 그러나 우리는 단지 구성을 변경했습니다. 그것은 작동하기 시작, 그것은 다시 시작해야합니다. 이렇게하려면의 nginx -s 다시로드를 사용합니다. 정상적인 작동이 지침 / usr / 지방 /의 nginx / 로그에있는 access.log의와하는 error.log 파일에 가능하지 않은 경우에, 당신은 결함의 원인을 찾아보실 수 있습니다.

간단한 프록시 서버 만들기

Nginx에 대해 말할 수있다 -이 시설의 구성 (방법에 의해 공정하게 쉬운) 가장 일반적인 응용 프로그램 중 하나입니다. 그것은, 요청을 수신 서버의 원리를 사용하고 필요한 사이트로 리디렉션. 그 후, 대답은 작업을 설정 한로 전송하는, 그들로부터 기대된다. 그럼 기준점을 작성하는 예를 살펴 보자. 이 서비스 사용자의 요청을 처리하고 로컬 디렉토리에서 이미지를 제공합니다. 그래서, HTTP는 다음과 같은 내용으로 다른 서버를 추가 차단 :

서버 {

8080을 듣고;

루트 / 데이터 / UP1;

위치 / {

}

}

지금, 당신을 위해 해독하자 간단한 서버를 생성. 그는 경청 할 것이다 포트 8080 다음 서버가 80 일에서 실행하는 듣고 있지 않습니다. 디렉토리 / 데이터 / UP1로 보내집니다 로컬 파일 시스템 내의 모든 요청을 표시됩니다 (물론, 이전에 그것을 만들 필요가있을 것이다). 이 index.html 파일을 배치 할 필요가 검사 할 수 있습니다. 때문에 우리는 항상 위치를 사용할 수있는 루트 서버의 맥락에서 지침의 위치에 (따라서 제거 액세스 제한 등). 우리는 지금 프록시를 생성하기 위해 노력하고 있습니다. 이 작업을 위해, 우리는 (: // localhost를 : 8080 로컬 연결을 위해 HTTP를 같이합니다) proxy_pass 프로토콜 이름을 지정 대상이되는 지침, 그리고 매개 변수로 항만 시설이 필요합니다. 이 결과를 가져 오기 :

서버 {

위치 / {

proxy_pass에 http : // localhost를 : 8080;

}

위치 / 이미지 / {

루트 / 데이터;

}

}

당신이 코드를보고 그것을 분석하면 초 단위 위치가 변경되었음을 알 수 있습니다. 따라서,이 경우 일반적인 확장 이미지로 작업 할 수 있습니다. 다음과 같이 조금 다른, 그것은 표시 할 수 있습니다 :

위치 ~ \ (GIF | JPG | PNG) $ {.

루트 / 데이터 / 영상;

}

다음과 같이 최종 프록시 구성은 다음과 같습니다

서버 {

위치 / {

proxy_pass 통해 http : // localhost : 8080 /;

}

위치 ~ \ (GIF | JPG | PNG) $ {.

루트 / 데이터 / 영상;

}

}

그것은 거기 이러한 확장하고 파일을 요청한 사람에게 보낼 수있는 마지막 요청을 필터링합니다. 구성 파일을 검사 할 경우 다시 시작해야 함을 잊지 마십시오. 그리고 날 믿어, 그것은 단지 nginx를 구성합니다. 당신이 구성 "명 Vkontakte"파일 서버 또는 다른 큰 회사를 열 경우,이 문서에있는 단어보다 코드가 더있을 것이다.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ko.unansea.com. Theme powered by WordPress.