본문 바로가기

분류 전체보기134

[NGINX] Nginx의 기본 변수 받아오기와 활용법 Nginx를 웹 서버나 리버스 프록시로 사용할 때, 요청/응답의 다양한 정보를 변수로 참조할 수 있습니다. 이 변수들을 적절히 활용하면, 클라이언트의 IP 확인, 로그 포맷 커스터마이징, 헤더 설정, 조건 분기 처리 등 여러 작업을 유연하게 처리할 수 있습니다. Nginx에서 사용 가능한 변수란?Nginx는 요청이 들어올 때 다양한 정보를 변수로 제공합니다.대표적으로는 클라이언트 정보, 서버 정보, 요청 URL, 요청 헤더 등이 있습니다.location / { add_header X-Client-IP $remote_addr; return 200 "Hello from $host\n";}주요 Nginx 변수 목록 변수설명$remote_port클라이언트의 포트$host요청의 호스트 헤더 값$http.. 2025. 4. 19.
[Nginx] Nginx 실행하기 ※ EC2 IP(본인 아이피 대체가능)와 Ubuntu를 사용합니다Nginx 설치 # Ubuntu 기준sudo apt updatesudo apt install nginx -y 실행 / 상태 확인sudo systemctl start nginx # Nginx 시작sudo systemctl status nginx # 상태 확인sudo systemctl stop nginx # 중지sudo systemctl restart nginx # 재시작접속 후 http://EC2_PUBLIC_IP 로 확인해보면 Nginx 기본 화면이 나옵니다. Nginx 리버스 프록시 기본 설정 구조이제 http://EC2_PUBLIC_IP 으로 접근 시, Spring Boot가 동작하도.. 2025. 4. 19.
[Nginx] Nginx란? 고성능 웹 서버의 핵심개념 파헤치기 개요현대 웹 서비스는 수많은 사용자로부터 동시에 요청을 받으며, 그 요청을 빠르게 처리해야 합니다. 이처럼 고성능과 확장성이 필수적인 시대에 탄생한 웹 서버가 바로 Nginx(엔진엑스)입니다.Nginx의 등장배경기존의 대표적인 웹 서버였던 Apache HTTP Server는 스레드 기반 동기 처리 방식을 사용했습니다. 이는 동시 접속자 수가 많아질수록 성능이 급격히 저하되는 문제를 가지고 있었고, 시스템 자원을 많이 소비했습니다.당시 웹 서버가 C10K 문제를 처리하는 데 한계를 드러내자, 이에 대응하기 위해 Nginx가 등장하게 됩니다.⚠️ C10K 문제란?C10K 문제는 "Client 10,000"의 약자입니다.이는 하나의 서버에서 10,000명 이상의 클라이언트의 동시 연결을 처리하려고 할 때 생기.. 2025. 4. 18.
[Docker] Docker Network - 컨테이너 간 통신 제어 네트워크란?도커 네트워크는 컨테이너 간 통신을 안전하게 연결해주는 가상의 네트워크다.컨테이너끼리 서로 이름으로 호출할 수 있도록 해줘요. 네트워크 유형 타입설명예시bridge (기본값)컨테이너끼리 내부 IP로 통신 가능대부분 사용host호스트와 동일한 네트워크 사용포트 충돌 시 주의none네트워크 격리 (통신 불가)테스트용 docker-compose에서 networks 사용 예시services: app: build: . networks: - backend db: image: mysql:8 networks: - backendnetworks: backend: driver: bridge장점앱과 DB를 같은 네트워크에 묶어서 통신 가능하게 함외부에서 접근하지 .. 2025. 4. 17.
[Docker] docker-compose.override.yml 개념 및 사용법 1. docker-compose.override.yml이란?docker-compose.yml을 확장해서 개발/운영 환경별 설정을 따로 관리할 수 있게 도와주는 파일. 개발: 코드 수정 시 자동 반영, 디버깅, 로깅 등운영: 보안, 성능 최적화, 로그 최소화 등등 기본 동작docker-compose up을 실행하면, 도커는 자동으로 아래 두 파일을 병합해서 실행합니다.docker-compose.ymldocker-compose.override.yml 예시docker-compose.ymlservices: web: build: . ports: - "80:80" docker-compose.override.ymlservices: web: volumes: - ./src:/app.. 2025. 4. 17.
[Docker] Docker Compose로 여러 컨테이너 쉽게 관리하기 들어가며실제 서비스를 만들다 보면 하나의 컨테이너만 사용하는 경우는 드뭅니다.예를 들어 웹 애플리케이션을 만든다면?Web 서버 (Spring Boot) -JAVADatabase (MySQL)Redis (캐시)Nginx (Reverse Proxy)이런 식으로 서로 다른 역할의 컨테이너들을 동시에 실행하고 관리해야 하죠.이걸 일일이 docker run으로 띄운다면… 너무 복잡하고 번거롭습니다.그래서 등장한 게 바로 Docker Compose입니다! Docker Compose란?Docker Compose는여러 개의 컨테이너를 정의하고, 한번에 실행할 수 있도록 도와주는 도구입니다.YAML 파일로 컨테이너 설정을 정의하고docker-compose up 한 줄로 모든 컨테이너를 실행합니다.기본 구조Docker C.. 2025. 4. 17.