Nginx 인터뷰 질문 및 답변 상위 18개(2025)
다음은 꿈의 직업을 얻기 위한 신입 개발자와 숙련된 개발자 후보자를 위한 Nginx 인터뷰 질문과 답변입니다.
1) Nginx가 무엇인지 설명해주세요.
Nginx는 HTTP, HTTPS, SMTP, POP3 및 IMAP 프로토콜을 위한 웹 서버이자 역방향 프록시 서버입니다.
2) Nginx의 몇 가지 특별한 기능을 언급해 주시겠습니까?
Nginx 서버의 특수 기능은 다음과 같습니다.
- 역방향 프록시/L7 로드 밸런서
- 임베디드 Perl 인터프리터
- 즉시 바이너리 업그레이드
- URL 재작성 및 뛰어난 PCRE 지원에 유용합니다.
3) Nginx와 Apache의 차이점은 무엇입니까?
Nginx에 | 아파치 |
|
|
4) Nginx가 HTTP 요청을 어떻게 처리할 수 있는지 설명해주세요.
Nginx는 리액터 패턴을 사용합니다. 메인 이벤트 루프는 다음을 기다립니다. OS 소켓에서 데이터를 읽을 수 있도록 준비 이벤트를 신호로 보냅니다. 이 경우 데이터는 버퍼로 읽어져 처리됩니다. 단일 스레드는 수만 개의 동시 연결을 처리할 수 있습니다.
5) Nginx에서 정의되지 않은 서버 이름으로 요청 처리를 방지할 수 있는 방법은 무엇입니까?
요청을 삭제하는 서버는 다음과 같이 정의할 수 있습니다.
Server { listen 80; server_name " " ; return 444; }
여기서 서버 이름은 "Host" 헤더 필드 없이 요청과 일치하는 빈 문자열로 유지되며 연결을 종료하는 특수 Nginx의 비표준 코드 444가 반환됩니다.
6) '역방향 프록시 서버'를 사용하면 어떤 이점이 있나요?
역방향 프록시 서버는 원본 서버의 존재와 특성을 숨길 수 있습니다. 인터넷 클라우드와 웹 서버 사이의 중개자 역할을 합니다. 특히 웹 호스팅 서비스를 사용할 때 보안상의 이유로 좋습니다.
7) Nginx 서버의 가장 좋은 사용법은 무엇입니까?
Nginx 서버의 가장 좋은 사용법은 SCGI, WSGI 애플리케이션 서버, 스크립트용 FastCGI 핸들러를 사용하여 네트워크에 동적 HTTP 콘텐츠를 배포하는 것입니다. 로드 밸런서 역할도 할 수 있습니다.
8) 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에서 지원되지 않기 때문입니다.
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.
귀하의 기사에서 잘못된 진술을 발견했습니다.
8) Nginx 서버의 마스터 및 작업자 프로세스가 무엇인지 언급해 주세요.
업데이트해주세요.
마스터 프로세스는 구성을 유지하고 작업자는 프로세스를 수행합니다.
약간의 오해가 있습니다. 대답은 동일함을 의미합니다.
그렇군요 업데이트해주세요. 마스터 프로세스는 구성 및 읽기를 유지하고 작업자가 프로세스를 수행하는 곳에서 작업자를 제어하고 유지 관리합니다.
감사해요! 오류 수정됨