NGINX, MYSQL

Welcome to Seoyun Dev Log·2022년 10월 18일
0

⚙️AWS

목록 보기
3/8
  • 웹 페이지를 만들때 정적인 데이터로만 이루어져 있다면 HTML로도 간단하게 가능하겠지만 한계가 있다. 데이터가 많아지거나 실시간 데이터 이동이 발생한다면 HTML만으로는 불가능하다

그래서 등장한 것이 CGI
해당 웹서버에 연결되어있는 DB서버

웹서버 : 엔진엑스
언어 : 자바
커뮤니케이션 -> CGI
CGI가 웹서버와 어플리케이션간에 공통된 방식으로 커뮤니케이션이 가능하게 해준다

그래서 엔진엑스 + 여러 언어 가능

  • CGI 한계가 있어서 fastCGI가 나옴
    : request당 process가 하나 생기는 것
    처리 후 프로세스 종료

보통 웹서버 nginx + php + mysql의 조합으로 사용하는데
그 이유는 php에 있는 기능 때문이다.
예로, 업로드 속도 향상 인코딩시 사용자가 기다리지 않아도 되는 부분 등

  • mysql 서버와 클라이언트 다운받기

  • 엔진엑스에서 피에이치피 구동할 수 있도록

  • 엔진엑스 해당 포트 서버에서 php가 대기하고 있다

  • 엔진엑스에 php , mysql 연결
    : 서로 독립된 머신 설치 다른 서버에 설치

  • 엔진엑스와 php를 서로 다른 머신에 설치하는 이유

  1. 만약 한대의 머신에 설치할 경우 해당 머신의 성능을 넘을 경우 처리할 수 없는 문제가 생긴다
  • TCP 커넥션을 통해 독립적인 웹서버 구축 가능

    이때 독립적으로 설치할 경우
    클라이언트가 nginx에 요청을하면 nginx에 연결되어 있는 어플리케이션에 요청을하고 응답을 받는다
    이렇게 분리되어있는것을 애플리케이션 구도라고 한다
    더 많은 부하를 견딜 수 있음
    즉, 웹서버는 비교적 낮은 사양을 사용하고 데이터베이스나 다른 어플리케이션의 경우에는 고사양을 사용하는 등이 가능

  • php와 mysql만이 동작하기 위한 서버
    mysql도 분리된 서버로 관리하고 싶다면 php의 동일 머신에 설치할 필요는 없다

profile
하루 일지 보단 행동 고찰 과정에 대한 개발 블로그

0개의 댓글