Nginx with docker
aws ec2에 프록시, 리버스 포록시 설정을 해야할 일이 있어… 일이 끝난 후 정리하는..겸……….
Nginx
- 기본적으로 웹서버
- 프록시 및 리버스 프록시, 메일 프록시 가능(3장에서 프록시 및 리버스 프록시를 진행해보자!)
- 비동기 이벤트 드라이븐 구조이다.
- 더 자세한 내용은 공홈에서!! 너무 잘나와있음
- 이미 우리가 알고 있는 다양한 IT를 이끄는 기업에서 성능이 좋음을 그들의 블로그에서 증명하였다.
아파치 vs nginx
Apache
- 쓰레드 / 프로세스 기반 구조로 요청 하나당 쓰레드 하나가 처리를 진행
- 사용자가 많다면? -> 많은 쓰레드 생성 -> 메모리 및 CPU 낭비가 심함
- 하나의 클라이언트당 하나의 쓰레드가 필요한 구조
nginx
- 비동기 Event-Driven 기반 구조.
- 다수의 연결을 효율적으로 처리가 가능하다.
- Apache보다 적은 리소스로 더 빠르게 동작가능
하지만 둘중 무엇이 옳다, 좋다, 나쁘다 라는 것을 없다. 필요에 의해 아파치, nginx 말고도 다양한 Web Server를 선택해야한다.
Docker에 nginx를 설치해보자
STEP 1, nginx 설치
도커에 nginx 설치
1 | docker pull nginx:latest |
설치가 완료된후
1 | docker images |
현재 도커에 등록되어있는 이미지리스트가 나오고 nginx가 설치 되었음을 알수 있다.
STEP 2, nginx 실행
nginx를 실행해보자
1 | docker run --name nginx-server -d -p 80:80 nginx |
실행 후 실행이 되었는지 확인해보자
1 | docker ps -a |
위와 같이 나올 것이며 Status를 보면 정상적으로 떠있음을 확인 할수 있다.
실제 정상작동함을 확인하기 위해서
http://127.0.0.1/ 를 쳐보면 정상적으로 나옴을 확인 할수 있다.
빠르게빠르게 다음 장으로 이동해보장!