nginx

[nginx] nginx 서버 config 분석 -1

Dev.Congsik 2024. 9. 30. 18:00
728x90

1. server block

  • server 블록은 특정 처리에 대한 요청을 처리하는 서버 구성 요소

2. server_name

server {
    server_name [서버명];
    listen 80;
    listen [::]:80;
 
     location / {
         proxy_pass [백엔드 서버 그룹명];
         proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
         access_log [로그 경로] main;
       }

3. listen

  • listen 80: IPv4로 80번 포트(HTTP 기본 포트)에서 요청을 수신
  • listen [::]:80: IPv6로 80번 포트에서 요청을 수신
  • IPv4와 IPv6 두 가지 경우를 모두 처리할 수 있게 설정

4. location

  • location / : 요청의 경로가 /로 시작하는 모든 요청에 ​​대한 처리를 정의
  • 즉, [백엔드 서버 그룹]에 대한 모든 요청을 처리하는 규칙

5. proxy_pass

proxy_pass [백엔드 서버 그룹명];
  • proxy_pass: [서버 그룹명] 이름의 백엔드 서버 그룹으로 요청을 전달
  • Nginx 설정 파일 내에 범위가 정의된 upstream블록일 가능성이 있음
  • 예를 들어, 다양한 백엔드 서버를 정의하고 그 중 하나로 로드 밸런싱을 수행 가능

6. Proxy_next_upstream

  • proxy_next_upstream:  Nginx가 서버로 요청했을 때, 특정 오류가 발생한 경우 다른 백엔드 서버로 요청을 재시도
    • error: Nginx에서 계속해서 오류가 발생하면 다시 시도
    • timeout: 요청이 타임아웃 때 다른 백엔드 서버로 요청을 전달
    • http_500, http_502, http_503, http_504: 백엔드 서버가 500, 502, 503, 504 오류를 반환할 경우, 다른 백엔드 서버로 재시도합니다.

7. access_log

  • access_log: 액세스 권한이 있는 파일의 경로를 설정합니다. 여기에서는 [로그 경로] 파일에 요청 정보를 기록합니다.

 

요약:

  • 이 설정은 명시된 서버에 대한 HTTP 요청을 처리하는 Nginx 서버 설정이다.
  • 요청은 /모든 요청에 ​​대해 백엔드 auth-http로, 특정 오류(500, 502, 503, 504)나 타임아웃이 발생하면 Nginx가 다른 백엔드 서버로 요청을 다시 전달
  • 요청에 대한 액세스 권한이 [로그 파일 경로]에 기록

이를 통해 클라이언트 요청을 백엔드 서버로 제공하고 오류가 발생하면 자동으로 다른 서버로 요청을 시도

728x90

'nginx' 카테고리의 다른 글

[nginx] FastCGI & PHP-FPM  (1) 2025.04.25
리버스 프록시 서버?  (0) 2024.11.09
[nginx] error 로그 유형 및 대응방안  (1) 2024.11.07
[Nginx] SSL 인증서 갱신  (0) 2024.09.02
nginx?  (0) 2024.08.26