nginx를 사용하기전 개념

JIWOO YUN·2024년 6월 11일
0

게시판만들기

목록 보기
19/21
post-custom-banner

nginx proxy manager

  • nginx 가 지원하는 프록시 기능을 편하게 사용할 수 있게 도와주는 솔루션

  • Lest's Encrypt 와 같은 인증기관에서 SSL/TLS 인증서를 발급받아서 nginx의 설정 파이을 CLI에서 직접 수정하여 Https 로 엑세스 할 수 있도록 설정

npm을 사용하려고 보니까 현재 내 상황에서 따져봤을때, 고정 ip를 사용하는 것도 아니고 DNS 설정을 한 것도 아니기 때문에 이걸 왜 사용해야하지 라는 생각이 들었고, 찾아보니 실제로 DNS 설정을 하게 될 경우 SSL 인증이나 도메인 관리를 편하게 해준다는 것을 알게되어 사실상 깔아도 쓸수없는 의미가 되었다.

결국엔 nginx proxy manager 를 사용하는 경우는 DNS 를 내가 발급을 받은 경우에 필요한 일이 아닌가?

  • 도메인 현재 없는데 과연 이게 필요한 걸까?

애초에 Nginx는 뭘까?

  • 그 부분부터 알아보자.

Nginx 를 왜 사용할까?

Nginx 자체는 웹서버기 때문에 Html,Css,js,이미지 등의 정적파일은 직접 반환 가능

  • 동적 처리만 apache서버에 요청을 보냄으로 connection을 줄여주는 역할로 과거에 썼었다.

Event Driven 방식

  • TCP connection 연결, 유저의 http request 처리 , 커넥션의 종료가지의 모든 절차를 이벤트 개념으로 취급하고 처리
    • 워커 프로세스에게 working queue라는 이름의 처리해야할 작업이 순차적으로 담긴 큐를 처리하도록
      • 이렇게 구현하면 워커 프로세스가 놀고 있는 시간 없이 끊임없는 이벤트를 처리

Nginx는 코어 개수만큼 워커 프로세스를 만들기 때문에 워커 프로세스가 하나의 코만 이용하도록 할당

  • cpu에서 프로세스를 변경하는 컨텍스트 스위칭을 거치지 않아도 되기 때문에 cpu 부하가 감소.

장점

  • 동시 커넥션을 양 최소 10배 증가
  • 동일한 커넥션 수일 때 속도 2배 향상
  • 오래걸리는 disk i/o를 해야하는 작업의 경우 쓰레드 풀에 위임
  • 가볍다.
  • 동적 설정 변경가능
    • 개발자가 설정 파일을 변경하면 nginx는 그에 맞춰서 work process를 생성하고 이전 process 를 제거해줌.

단점

  • 개발자가 실수로 프로세스를 종료하게되면 해당 프로세스가 관리하고 있던 모든 커넥션이 끊김.
  • 개발자가 직접 모듈을 만들기 까다로움.

참고 youtube

https://www.youtube.com/watch?v=6FAwAXXj5N0&t=5s

https://sihyung92.oopy.io/server/nginx_feat_apache

profile
열심히하자
post-custom-banner

0개의 댓글