Hi yoahn 개발블로그

[42SEOUL/ft_server] Nginx 란? 본문

42 SEOUL/배운 것들 정리

[42SEOUL/ft_server] Nginx 란?

hi._.0seon 2021. 2. 4. 18:07
반응형

ft_server 과제는 여러가지 서비스가 동작하는 서버를 구현해야하는 과제인데, Nginx를 사용하여 하나의 도커 컨테이너에서만 웹 서버 설정, OS로는 debian buster를 사용하여 워드프레스 웹사이트, phpMyAdmin 기능, MySQL 이 함께 동작하도록 해야 한다.

또한 SSL protocol을 사용할 수 있어야 하고, URL에 따라 서버가 올바른 웹 사이트로 리다이렉션되도록 해야하고, 비활성화 가능한 자동 인덱스로 실행되고 있는지 확인해야 한다.

 

저번엔 SSL 프로토콜을 공부했고, 이번엔 nginx 가 무엇인지 알아보려 한다

 

1. Nginx

동시접속 처리에 특화된 웹 서버 프로그램

Apache 보다 동작이 단순하고, 전달자 역할만 하기 때문에 동시접속 처리에 특화되어 있다

 

아파치의 시장 점유율이 더 높지만, AWS 에서는 시장 점유율 44%를 차지할정도로 가볍고, 성능이 좋은 엔진이다

2. Nginx 웹서버의 역할

1-1. 정적 파일을 처리하는 HTTP 서버로서의 역할

HTML, CSS, Javascript, 이미지와 같은 정보를 웹 브라우저에 전송하는 역할을 한다.

 

1-2. 응용프로그램 서버에 요청을 보내는 리버스 프록시로서의역할

클라이언트는 가짜 서버에 요청하면, 프록시 서버가 reverse 서버로부터 데이터를 가져오는 역할을 한다.

프록시 서버 = Nginx

reverse 서버 = 응용프로그램 서버

 

웹 응용프로그램 서버에 리버스 프록시(Nginx)를 두는 이유

-> 요청에 대한 버퍼링이 있기 때문에

 

 클라이언트가 직접 App 서버에 직접 요청하는 경우, 프로세스 1개가 응답 대기 상태가 되어야만 한다.

 -> 프록시 서버를 두어 요청을 배분하는 역할을 하게 한다

 

Event-Driven 방식으로 클라이언트의 요청을 처리해주는 웹서버

  • 클라이언트의 요청 처리를 분산시킬 수 있는 로드 밸런스를 사용
    -> 효율적인 처리
  • 정적 파일을 다이렉트로 제공
    -> 백엔드 서버에 부담 없음
  • 클라이언트는 Nginx 포트로만 백엔드 서버에 접근 가능
    -> 보안에 도움이 됨

동기식 (Synchronous)

A가 B에게 데이터를 요청했을 때, 이 요청에 따른 응답을 주어야만 A가 다시 작업처리가 가능

 

비동기식 (Asynchronous)

A의 요청을 B가 즉시 주지 않아도, A의 유휴시간으로 또 다른 작업 처리가 가능한 방식

3. Nginx 설정파일

server_name은 방문자가 어떤 주소로 들어오냐에 따라 해당 도메인 이름을 가진 server 블록이 처리한다. 요청된 도메인을 처리하는 server_name을 가진 블록이 없다면 default_server 블록이 처리함

 

 

 

swiftcoding.org/nginx-routing

 

nginx 웹서버 라우팅 설정하기 - 도메인 IP 연결, www 리다이렉팅 | 스위프트코딩

서버 설치 세팅 및 데이터관리 도메인, 서버세팅, 서버관리, nginx, 웹서버, 서브도메인, Lightsail WP Series 전 단계에 이어서 이번 글에서는 nginx(엔진엑스)를 사용하는 서버에 도메인을 구매해 연결

swiftcoding.org

 

 

whatisthenext.tistory.com/123

 

Nginx 이해하기 및 기본 환경설정 세팅하기

NGINX Nginx의 개요 엔진엑스(Nginx)는 Igor Sysoev라는 러시아 개발자가 동시접속 처리에 특화된 웹 서버 프로그램이다. Apache 보다 동작이 단순하고, 전달자 역할만 하기 때문에 동시접속 처리에 특화

whatisthenext.tistory.com

velog.io/@jeff0720/2018-11-18-2111-작성됨-iojomvsf0n

 

Nginx를 사용하여 프록시 서버 만들기

서론 안녕하세요, 영훈입니다. 회사에 입사한 후 인프라에 중요성에 대해서 깨닳게된 후 꾸준히 공부하고 있습니다. 오늘은 제가 공부한 Nginx의 개념에 대해서 간단히 정리한 후 Nginx 설치 및 사

velog.io

dreamholic.tistory.com/85

 

Docker를 통해 Nginx 띄우기

Docker를 통해 Nginx 띄우기 고작 화면에 hello world 따위 문자열 띄우려고 docker 를 쓰지는 않죠. 우선 가장 많이 사용되는 nginx 컨테이너를 구동해 보도록 하겠습니다. nginx 이미지 다운로드 및 구동 d

dreamholic.tistory.com

 

반응형

'42 SEOUL > 배운 것들 정리' 카테고리의 다른 글

[42Seoul/ft_server] php, autoindex  (0) 2021.02.13
[42Seoul/ft_server] docker 와 docker file  (0) 2021.02.10
[42SEOUL/ft_server] SSL protocol  (0) 2021.02.03
ft_server 프로젝트 수행 과정  (1) 2021.02.01
#3 Makefile / gcc  (0) 2020.12.09
Comments