Nginx with docker

aws ec2에 프록시, 리버스 포록시 설정을 해야할 일이 있어… 일이 끝난 후 정리하는..겸……….

Nginx

Nginx 공홈

Web server 통계

  1. 기본적으로 웹서버
  2. 프록시 및 리버스 프록시, 메일 프록시 가능(3장에서 프록시 및 리버스 프록시를 진행해보자!)
  3. 비동기 이벤트 드라이븐 구조이다.
  4. 더 자세한 내용은 공홈에서!! 너무 잘나와있음
  5. 이미 우리가 알고 있는 다양한 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
2
3
4
5
docker ps -a 

위의 명령어를 치면

1767699b3689 nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp

위와 같이 나올 것이며 Status를 보면 정상적으로 떠있음을 확인 할수 있다.

실제 정상작동함을 확인하기 위해서

http://127.0.0.1/ 를 쳐보면 정상적으로 나옴을 확인 할수 있다.

빠르게빠르게 다음 장으로 이동해보장!