Nginx 인터뷰 질문 및 답변 상위 18개(2024)

다음은 꿈의 직업을 얻기 위한 신입 개발자와 숙련된 개발자 후보자를 위한 Nginx 인터뷰 질문과 답변입니다.


1) Nginx가 무엇인지 설명해주세요.

Nginx는 HTTP, HTTPS, SMTP, POP3 및 IMAP 프로토콜을 위한 웹 서버이자 역방향 프록시 서버입니다.

무료 PDF 다운로드: Nginx 인터뷰 질문


2) Nginx의 몇 가지 특별한 기능을 언급해 주시겠습니까?

Nginx 서버의 특수 기능은 다음과 같습니다.

  • 역방향 프록시/L7 로드 밸런서
  • 임베디드 Perl 인터프리터
  • 즉시 바이너리 업그레이드
  • URL 재작성 및 뛰어난 PCRE 지원에 유용합니다.

3) Nginx와 Apache의 차이점은 무엇입니까?

Nginx에 아파치
  • Nginx는 이벤트 기반 웹 서버입니다.
  • 모든 요청은 단일 스레드에 의해 처리됩니다.
  • Nginx는 하위 프로세스 아이디어를 피합니다.
  • Nginx는 속도와 유사합니다.
  • Nginx는 메모리 소비 및 연결 측면에서 더 좋습니다.
  • 로드 밸런싱을 원할 때 Nginx가 더 좋습니다
  • PHP의 경우 내부적으로 PHP를 지원하는 Nginx가 더 바람직할 수 있습니다.
  • Nginx는 IBMi 및 OpenVMS와 같은 OS를 지원하지 않습니다.
  • Nginx에는 핵심 기능만 제공됩니다.
  • Nginx 성능과 확장성은 하드웨어에 의존하지 않습니다
  •  Apache는 프로세스 기반 서버입니다.
  • 단일 스레드는 단일 요청을 처리합니다.
  • Apache는 하위 프로세스를 기반으로 합니다.
  • 아파치와 유사한 힘
  • Apache는 메모리 소비 및 연결 측면에서 최고 수준이 아닙니다.
  • 트래픽이 프로세스 한계에 도달하면 Apache는 새로운 연결을 거부합니다.
  • Apache는 플러그인을 사용하여 PHP, Python, Perl 및 기타 언어를 지원합니다. Python이나 Ruby 기반의 애플리케이션일 때 유용합니다.
  • Apache는 훨씬 더 넓은 범위의 OS를 지원합니다.
  • Apache는 Nginx보다 훨씬 더 많은 기능을 제공합니다.
  • Apache는 CPU 및 메모리와 같은 하드웨어 구성 요소에 의존합니다.

4) Nginx가 HTTP 요청을 어떻게 처리할 수 있는지 설명해주세요.

Nginx는 리액터 패턴을 사용합니다. 메인 이벤트 루프는 다음을 기다립니다. OS 소켓에서 데이터를 읽을 수 있도록 준비 이벤트를 신호로 보냅니다. 이 경우 데이터는 버퍼로 읽어져 처리됩니다. 단일 스레드는 수만 개의 동시 연결을 처리할 수 있습니다.


5) Nginx에서 정의되지 않은 서버 이름으로 요청 처리를 방지할 수 있는 방법은 무엇입니까?

요청을 삭제하는 서버는 다음과 같이 정의할 수 있습니다.  

Server {

listen                80;

server_name  " " ;

return              444;

}

여기서 서버 이름은 "Host" 헤더 필드 없이 요청과 일치하는 빈 문자열로 유지되며 연결을 종료하는 특수 Nginx의 비표준 코드 444가 반환됩니다.

Nginx 인터뷰 질문
Nginx 인터뷰 질문

6) '역방향 프록시 서버'를 사용하면 어떤 이점이 있나요?

역방향 프록시 서버는 원본 서버의 존재와 특성을 숨길 수 있습니다. 인터넷 클라우드와 웹 서버 사이의 중개자 역할을 합니다. 특히 웹 호스팅 서비스를 사용할 때 보안상의 이유로 좋습니다.


7) Nginx 서버의 가장 좋은 사용법은 무엇입니까?

Nginx 서버의 가장 좋은 사용법은 SCGI, WSGI 애플리케이션 서버, 스크립트용 FastCGI 핸들러를 사용하여 네트워크에 동적 HTTP 콘텐츠를 배포하는 것입니다. 로드 밸런서 역할도 할 수 있습니다.


8) Nginx 서버의 마스터 및 작업자 프로세스가 무엇인지 언급해 주세요.

  • 마스터 프로세스: 구성을 읽고 평가하며 작업자 프로세스를 유지 관리합니다.
  • 작업자 프로세스: 실제로 요청을 처리합니다.
Nginx 인터뷰 질문
Nginx 인터뷰 질문

9) 80이 아닌 다른 포트를 통해 Nginx를 시작할 수 있는 방법을 설명해주세요.

다른 포트를 통해 Nginx를 시작하려면 /etc/Nginx/sites-enabled/로 이동해야 하며 이것이 기본 파일인 경우 "default"라는 파일을 열어야 합니다. 파일을 편집하고 원하는 포트를 넣으십시오. 서버처럼 { Listen 81; }


10) 502 오류와 같은 Nginx 오류를 503으로 대체하는 것이 가능합니까?

  • 502= 잘못된 게이트웨이
  • 503= 서버 과부하

예, 가능합니다. 하지만 그렇게 하도록 하세요. fastcgi_intercept_errors ON으로 설정하고 오류 페이지 지시문을 사용하십시오.  

Location / {

fastcgi_pass 127.0.01:9001;

fastcgi_intercept_errors on;

error_page 502 =503/error_page.html;

#...

}

11) Nginx에서 URL에 이중 슬래시를 유지하는 방법을 설명해주세요.

URL에 이중 슬래시를 유지하려면 사용해야 합니다. merge_slashes_off; 구문: merge_slashes [켜기/끄기] 기본값: 컨텍스트의 merge_slashes: http, 서버


12) ngx_http_upstream_module이 무엇에 사용되는지 설명해주세요.

ngx_http_upstream_module은 fastcgi 패스, 프록시 패스, uwsgi 패스, memcached 패스 및 scgi 패스 지시문으로 참조할 수 있는 서버 그룹을 정의하는 데 사용됩니다.


13) C10K 문제가 무엇인지 설명해주세요.

C10K 문제는 네트워크 소켓이 동시에 많은 수의 클라이언트(10,000)를 처리할 수 없는 경우에 발생합니다.


14) stub_status 및 sub_filter 지시어의 용도를 언급하세요.

  • Stub_status 지시어: 이 지시문은 현재 활성 연결, 허용된 총 연결 및 처리된 현재 읽기/쓰기/대기 연결 수와 같은 Nginx의 현재 상태를 아는 데 사용됩니다.
  • Sub_filter 지시어: 응답 내용을 검색 및 교체하고, 오래된 데이터를 빠르게 수정하는 데 사용됩니다.

15) Nginx 지원이 요청을 업스트림으로 압축하는 것을 설명합니까?

Nginx 모듈을 사용하여 요청을 업스트림으로 압축할 수 있습니다. 건집. gunzip 모듈은 "gzip" 인코딩 방법을 지원하지 않는 클라이언트 또는 서버에 대해 "콘텐츠 인코딩: gzip"으로 응답을 압축 해제하는 필터입니다.


16) Nginx에서 현재 시간을 어떻게 얻을 수 있는지 설명해주세요.

Nginx에서 현재 시간을 얻으려면 SSI 모듈, $date_gmt 및 $date_local의 변수를 사용해야 합니다.

  • Proxy_set_header THE-TIME $date_gmt;

17) Nginx 서버에서 -s의 목적이 무엇인지 설명해주세요.

Nginx의 실행 파일을 실행하려면 –s 매개 변수가 사용됩니다.


18) Nginx 서버에 모듈을 추가하는 방법을 설명해주세요.

컴파일 프로세스 중에 Nginx 모듈을 선택해야 합니다. 런타임 시 모듈 선택은 Nginx에서 지원되지 않기 때문입니다.

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.

공유

댓글 4

  1. 화신 베뉴 고팔 초드하리 말한다 :

    귀하의 기사에서 잘못된 진술을 발견했습니다.

    8) Nginx 서버의 마스터 및 작업자 프로세스가 무엇인지 언급해 주세요.

    업데이트해주세요.
    마스터 프로세스는 구성을 유지하고 작업자는 프로세스를 수행합니다.

    1. 화신 Guru99 말한다 :

      약간의 오해가 있습니다. 대답은 동일함을 의미합니다.

    2. 화신 비부발 말한다 :

      그렇군요 업데이트해주세요. 마스터 프로세스는 구성 및 읽기를 유지하고 작업자가 프로세스를 수행하는 곳에서 작업자를 제어하고 유지 관리합니다.

    3. 화신 Guru99 말한다 :

      감사해요! 오류 수정됨

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *