본문 바로가기

기타/nginx5

Reverse Proxy & Load Balancing Reverse Proxy Nginx의 Reverse Proxy는 클라이언트 요청을 다른 서버로 전달하고 해당 서버로부터 받은 응답을 클라이언트에게 반환하는 역할을 하는 중간 서버이다. 이를 통해 Nginx는 여러 가용성 및 보안 기능을 제공하고, 웹 서버나 애플리케이션 서버의 부하 분산을 수행할 수 있다. Reverse Rroxy 서버의 장점은 다음과 같다. 단일 진입점: Reverse Proxy는 여러 도메인 및 경로에 대한 단일 진입점을 제공하여 여러 애플리케이션 서버로 들어오는 클라이언트 요청을 분산하는 로드 밸런싱 기능을 수행할 수 있다. 이를 통해 트래픽을 고르게 분산하고 서버 부하를 분산시키고, 무중단 배포도 지원할 수 있다. 보안 강화: 애플리케이션 서버를 직접 노출하지 않고 Reverse .. 2023. 10. 1.
Nginx Performance Headers & Expires HTTP 헤더는 클라이언트와 서버 간에 전송되는 메타 정보를 포함하는 텍스트 데이터이다. Nginx를 사용하면 헤더를 수정하고 조작하여 웹 페이지의 동작을 제어할 수 있다. add_header 지시문을 통해 HTTP 헤더에 보안 헤더를 추가하거나 커스텀 헤더를 생성해서 추가할 수 있다. 위를 보면 /style.css 경로로 요청하면 커스텀 헤더를 생성해 추가한 것을 확인할 수 있다. 정적 파일 요청 add_header Cache-Control public: Cache-Control HTTP 헤더를 설정하여 므라우저 및 캐시 서버에 리소스를 공개 캐시로 저장할 것을 지시한다. 이렇게 설정하면 클라이언트 및 중간 프록시 서버에서 캐시로 저장하고 재사용할 수 있다. add_he.. 2023. 9. 30.
Nginx Configuration (2/2) Nginx Configuration Try Files & Named Locations try_files try_files file ... uri; try_files 지시문은 정적 파일을 제공하는 웹 서버에서 파일을 찾는 방법을 지정하는 데 사용된다. 파일 검색의 순서를 정의하고, 해당 파일이나 경로를 찾지 못한 경우 어떤 동작을 수행할지 지정할 수 있다. try_files 지시문의 구문은 위와 같다. file ...: 파일 검색의 순서를 정의한다. 여기에 나열된 파일이나 경로들은 차례대로 검색된다. 파일 경로는 절대 경로나 상대 경로 모두 가능하다. 파일이나 경로를 찾을 수 없다면 다음으로 넘어간다. uri: 파일이나 경로를 찾지 못한 경우 어떤 URI로 요청을 전달할지 지정한다. Named Locati.. 2023. 9. 30.
Nginx Configuration (1/2) Nginx Configuration 이해하기 Nginx는 웹 서버 및 리버스 프록시로 사용되는 오픈소스 소프트웨어로, 그 구성 파일은 웹 서버 및 프록시 서버의 동작을 제어하는 중요한 부분이다. Nginx의 Configuration 파일은 일반적으로 nginx.cof라는 이름으로 저장되며, 여러 가지 구성 요소와 용어가 포함되어 있다. Nginx의 Configuration 파일에서 Directive와 Context는 중요한 개념이다. 이 두 가지에 대해서 자세히 알아보자. Directive listen 80; server_name mydomain.com; root /var/www/html; location /images/ { alias /var/www/images/; } Directive는 Nginx C.. 2023. 9. 29.
소스코드로 Nginx 시작하기 Nginx 시작하기 Nginx란? Nginx는 고성능이면서 경량의 오픈소스 웹 서버 및 리버스 프록시 서버 소프트웨어이다. Nginx는 많은 웹 사이트 및 웹 애플리케이션에서 사용되며, 그 기능과 특징 때문에 매우 인기가 있다. Nginx는 C10K 문제와 같은 대규모 연결을 처리하는데 탁월한 성능을 제공하고자 개발되었다. Nginx가 C10K 문제를 해결하는데 효과적인 이유는 다음과 같다. 이벤트 기반 아키텍처: Nginx는 단일 스레드 또는 워커 프로세스를 사용하여 이벤트 기반 아키텍처를 채택하고 있다. 이러한 아키텍처는 많은 연결을 동시에 처리할 수 있는 확장성을 제공하며, 블로킹 I/O 대신 비동기 I/O를 사용하여 더 효율적으로 작동한다. 비동기 처리: Nginx는 클라이언트 요청을 비동기적으로.. 2023. 9. 28.