ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Apache와 Nginx
    Node.js 2021. 9. 24. 05:26

    Apache란?


    세계에서 가장 많이 쓰이는 HTTP 웹 서버 중 하나 이다.
    정적인 데이터를 처리하는 웹 서버 이다.

    client에 요청을 받으면 MPM 방식으로 처리를 하는데 Prefork와 Worker방식이 있다.

    [ Prefork MPM ]

    실행중인 프로세스를 복제하여 처리한다.
    각 프로세스는 한번에 한 연결만 처리한다.
    요청량이 많아질수록 프로세스는 증가한다.
    프로세스 복제시 메모리 영역까지 복제되어 동작한다.
    프로세스간 메모리 공유가 없어 안정적이다.

    [ Worker MPM ]

    1개의 프로세스가 각각 여러개 쓰레드를 사용하는 방식이다.
    쓰레드간 메모리를 공유하여 메모리를 덜 사용한다는 장점이 있다.

     

    WAS


    웹 서버와 웹 컨테이너를 포함한 개념 ,
    동적으로 DB와 연결하여 여러 데이터를 활용해 페이지를 해석하는 역할

     

    nginx란?


    Apache와는 다른 방식의 웹서버

    Event Driven 방식을 사용한다.
    ( 요청이 들어오면 어떤 동작을 해야하는지 알려주고 다른 요청을 처리한다. )
    CPU와 관계 없이 모든 IO들을 전부 Event Listener로 미루기 때문에 흐름이 끊기지 않고 응답이 빠르게 진행된다.
    메모리적인 측면에서 Nginx가 Apache보다 효율적이다.

     

    Node.js와 Apache


    Node.js는 정적 파일 제공과 WAS기능 모두 담당한다.
    Express.js를 통해 정적 파일을 제공하고 나머지가 DB연결 등 담당한다.

    그렇다고해서 Node.js를 사용하면 Apache 나 Nginx 를 사용하지 않는 것은 아니다.
    Apache나 Nginx를 프록시 서버로 활용하여 보안상의 이점과 캐싱을 사용하여 속도상 이점을 갖는다.

     

     

    [ 학습 출처 ] : https://taetaetae.github.io/2018/06/27/apache-vs-nginx/

    'Node.js' 카테고리의 다른 글

    로그인 [ 쿠키,세션 vs JWT ]  (0) 2021.09.24
    nCloud 배포  (0) 2021.09.24
    NPM과 package.json  (0) 2021.09.24
    cluster  (0) 2021.09.24
    HTTPs HTTP2  (0) 2021.09.24

    댓글

Designed by Tistory.