전체 글27 5. 리버스 프록시를 위한 설정 작성 방법 1. Nginx에서 말하는 프록싱 프록싱은 일반적으로 여러 서버에 로드를 분산하는 작업에 사용된다. 다른 웹사이트의 콘텐츠를 매끄럽게 표시하는 작업에 사용된다. HTTP 이외의 프로토콜을 통해 처리 요청을 에플리케이션(WAS) 서버로 전달하는데 사용된다. “CSR - API 서버” 구조를 사용시 Nginx를 사용하여 API 서버를 프록시하는 방법을 많이 사용한다. 2. 프록시 서버에 요청 전달 Nginx의 프록싱은 요청을 뒷단 서버로 보내고, 처리된 결과를 받아와 클라이언트로 응답한다. Nginx는 지정된 프로토콜을 사용하여 HTTP 서버(Nginx이외의 또 다른 서버)에 요청을 전달한다. 또한 HTTP가 아닌 서버에도 요청을 전달(프록시) 할 수 있다. 지원되는 프로토콜은 FastCGI, uwsgi, .. 2023. 11. 5. 4. 웹 서버를 위한 설정 방법 1. 웹 서버 설정을 위해 http 컨텍스트 정의 http { # 웹 서버 공통 환경 설정 지시문 정의 } 2. 가상 호스트 서버 설정을 위한 server 블록 정의 가상 호스트 서버 이하 "가상 서버" http { server { } } 3. server 블록안에 지시문 정의 http { server { # 3.1. listen 지시문 listen 127.0.0.1:8080; # 3.2. server_name 지시문 server_name example.org www.example.org } } 3.1. listen 지시문 사용 방법 listen 지시문에는 가상 서버가 사용할 ip와 port를 정의한다. # 1) ip를 생략하면 모든 ip에 대해 리슨한다. listen 80; # 2) localhost에.. 2023. 11. 5. 3. 설정 파일 기본 구조 1. Nginx의 설정 파일 Nginx는 환경 설정 파일로 여러 가지 값을 지정해 Nginx가 실행할 수 있도록 지원한다. 설정 파일은 논리적을 작성된 지시문 목록이며, 독립된 규칙을 가진다. 또한 Nginx에는 다양한 모듈이 존재하고 설정파일의 지시문에 따라 내부에 정의된 모듈을 사용한다. 설정파일 작성 규칙 지시문은 변수 또는 값을 가지며, 각각의 지시문은 세미콜론을 사용하여 종결한다. 설정파일에서는 중괄호({})를 사용하여 그룹화 한다. 이것을 블록 또는 컨테이너라고 말한다. 설정파일은 샵(#)을 사용하여 주석을 사용할 수 있다. 2. 설정 파일 지시문과 종류 2.1 지시문 구조 # 2.1.1 Core 모듈 설정(= Nginx app 설정) user nginx; ## NGINX 프로세스가 실행되는 .. 2023. 11. 5. 2. Nginx 동작원리 1. Nginx vs Apache Apache 서버의 구조적 한계 Apache 서버의 구조를 MPM(Multi-Process Module) 방식이라 한다. Apache와 같은 전통적인 웹서버는 클라이언트로부터 받은 요청이 들어오면 요청 하나당 하나의 프로세스 또는 스레드(이하 "스레드")를 생성하여 처리한다. 요청마다 스레드가 생성되는 구조는 안정적인 구조와 높은 확장성이라는 장점을 가진다. 하지만 요청마다 스레드를 만드는 구조 한계가 있다. 요청이 많으면 그 요청 만큼 스레드를 생성하여 요청을 처리한다. 때문에 서버의 CPU와 메모리 자원의 소모가 커지는 단점을 가진다. (실제로 Apache 서버에는 1만 명의 접속자가 넘어가면 발생하는 성능저하 C10k 문제가 있다.) 추가로 웹은 효율적인 커넥션 관.. 2023. 11. 5. 1. Nginx란? 1. Nginx란? Nginx는 경량 웹(web server) 서버이다. 웹서버는 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램이다. 웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것이다. 주로 그림, CSS, 자바스크립트를 포함한 HTML 문서가 클라이언트로 전달된다. 출처: 위키백과 웹서버는 통상적으로 클라이언트에게 정적인 자원을 전달(서빙)하는 서버이다. 정적인 자원이란 HTTP, CSS, 이미지 같은 서버에 이미 존재하는 자원이다. Q) 그렇다면 웹서버가 아닌 서버는 어떤 것일까? A) 동적인 자원을 제공하거나, 통신과정에서 중계적인 역할을 하는 서버는 웹서버가 아니다. 요즘 기준으로 API 서버가 대표적으로 .. 2023. 11. 5. 3. 인프라1 - On-premise 서버 세팅 우분투 설치 및 초기 설정 우분투 설치 우분투 부팅 디스크 만들기어 설치 GUI 모드에서 CLI 버전으로 설정하기 apt & apt-get 최신화 우분투 보안 설정 SSH 접속 설정: SSH 원격접속 허용, root 계정 비밀번호 설정, SSH 비밀번호 로그인 금지 UFW로 방화벽 설정: 22포트(SSH) 허용 & 사용할 포트 허용 우분투에 도커 설치 내가 사용한 우분투에 도커 설치 방법은 apt에 외부 저장소를 등록하여 도커를 설치하는 방법을 사용했다. 이러한 방법이 생소하여 조금 헤맸기 때문에 간단하게 설명한다. 리눅스는 다양한 패키지 관리 도구가 있다. 그 중 apt의 경우 데비안 계열의 패키지를 관리하는데 쓰이는 도구이다. (쉽게 설명하면 node의 npm, python의 pip 같은 도구이다.).. 2023. 11. 3. 이전 1 2 3 4 5 다음