과제/FT_SERVER

[FT_SERVER] 01. 기초지식 정리

Pearan 2021. 2. 23. 21:43

1. Docker

docker 란 어떠한 특정 문제를 해결하기 위해 개발되었다.

어떠한 문제냐면, 내가 A머신에서 잘 동작하는 프로그램을 만들었는데, B머신에서 정확히 같은 동작을 하도록 환경을 설정하기

위한 문제를 해결해준다. (Environment disparity)

또한, 기존에 쓰이던 VMware 같은 가상머신 툴들은, OS 위에, 하이퍼바이져를 설치하고, 그 위에 가상으로 HW를 설치하고,

다시 그 위에 OS 가 설치된다. 하지만 docker 의 경우 

위와 같이 docker 위에 바로 컨테이너를 만들어서 각각의 어플리케이션들을 구동 시킬 수 있다.

그렇다면 VMware 와 성능차이가 얼마나 날까? -> 약 2~3배 성능 차이가 난다고 한다. (컨테이너가 많아질 경우)

 

2. Nginx

경랑 웹서버. 아마 Tomcat 이나 IIS 처럼 프로그램을 웹에 띄워 관리해주는 역할을 하는 것 같다.

가볍고 높은 성능으로 많이 쓰인다고 한다.

 

2-1. Nginx 의 autoindex

autoindex on; 만 해놓으면,

요청된 루트 디렉토리에 있는 모든 파일들을 알아서 리스트업해준다.

 

2-2. Nginx 의 index

요청된 루트 디렉토리에서 위에미리 index index.html .. 이런식으로 적어놨던 것들을

순서대로 찾아서 있는 것으로 자동으로 리다이렉션 시켜준다.

예를들어서

https://localhost/wordpress 라고만 쳐도 index index.html index.htm index.php 이라고 되어있다면,

자동으로 https://localhost/wordpress/index.html 을 찾아보고 없으면

index.htm, index.php 순으로 찾아서 리다이렉션 해준다.

 

3. php-fpm 

PHP-fpm 은, PHP FastCGI Process Manger 의 약자로, CGI 보다 빠른 버전의 php 처리기 라고 보면 되겠다.

여기서 CGI 는, 웹서버에서 요청을 받아 넘겨주면, 그 파일을 읽어 html로 변환하는 녀석이다.

따라서 php-fpm 은 기존 CGI 보다 빠른 php->html 변환기 정도로 이해하면 될 것 같다.