ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Server , Program , Apache 의 관계
    Sever 2023. 12. 7. 11:29

    - 선임분이 설명을 위해 그려주셨다.

     

    1. 서버에서 프로그램이 실행되는 과정

    - 웹 서버의 경우, 요청을 처리하기 위한 동적인 부분 (프로그램 / DB연동 등) 을 처리하기 위해서 Frame Work를 올린다

    이 때, Frame Work 또는 Program은 서버의 Port 한 부분을 차지한다.

     

    2. Apache 또는 Nginx (엔진엑스 라고 읽음) 를 사용하는 이유

    - Dynamic Program Layer에 속하는 프로그램들은 정적인 파일을 처리하는데 특화되어있지 않기 때문에 효율이 좋지 않다 (많은 리소스를 차지하게 된다)

    이를 보완하기 위해서 Apache나 Nginx가 정적인 파일을 처리해주고, Reverse Proxy를 통해 Dynamic Program과 User 사이의 연결고리 역할을 한다.

     

    3. Reverse Proxy의 역할

    - Apache로 들어온 request 를 올바른 Program Layer로 보내서 처리할 수 있게 도와준다.

    Request의 타입 (ex : URL ) 에 따라 올바른 프로그램이 켜져있는 port로 안내한다.

    예를들어 python 프로그램을 이용하고 싶다면, python 이 주로 배정되는 3000번 port

    java 프로그램을 이용하고 싶다면, 8080 port

    php 프로그램을 이용하고 싶다면, 80 port 등

    ( 보통은 한 서버에 여러개의 프레임워크/프로그램을 올리지는 않는다. 위의 경우 하나의 컴퓨터에서 여러개의 개발환경에서 개발하는 경우에 해당할 수 있겠다.)

     

    4. Apache에서 정적 php를 활용하는 방법

    특이하게 php는 reverse proxy를 통하지 않고, Apache 내부에서 실행될 수 있다.

    이를 위해서는 정적인 php 파일이 필요하고, Apache의 httpd.conf에서 해당 정적 php.ini를 바라보도록 설정하면 된다.

     

Designed by Tistory.