docker nginx 설정하기

Lucas.Choi·2024년 9월 27일

웹 호스팅

목록 보기
4/5
post-thumbnail

Ubuntu container를 설정하는데 갑자기 nginx에서 설정하라고 하네...

nginx가 뭔가 하고 찾아보니...

nginx는 웹 서버 소프트웨어로, 주로 HTTP 서버, 리버스 프록시, 로드 밸런서, 메일 프록시 서버로 사용된다고 한다. 빠른 속도와 높은 성능, 낮은 메모리 사용량으로 많은 웹사이트와 서비스에서 사용된다고 한다.

nginx의 주요 특징

  1. 웹 서버(Web Server)
    • nginx는 웹 서버로, 클라이언트의 HTTP 요청을 받아 웹 페이지를 제공하고 정적 파일(HTML, CSS, 이미지 등)을 제공할 때 매우 효율적이고 빠른 속도를 제공한다.
  2. 리버스 프록시(Reverse Proxy)
    • 리버스 프록시로 동작할 때, nginx는 클라이언트의 요청을 다른 서버로 전달하고 응답을 다시 클라이언트에게 반환한다. 이런 기능 덕분에 웹 애플리케이션의 보안을 강화하고, 부하를 분산시킬 수 있다.
  3. 로드 밸런서(Load Balancer)
    • 여러 서버에 요청을 분배하여 서버 간 부하를 균등하게 나누고, 시스템의 안정성과 성능을 향상시켜 준다. 또한 로드 밸런싱 알고리즘(라운드 로빈, IP 해시 등)을 사용해 효율적으로 트래픽을 관리해 준다.``````
  4. 정적 및 동적 콘텐츠 제공
    • 정적 콘텐츠(HTML, CSS, JavaScript)뿐만 아니라, PHP, Python 등 동적 콘텐츠도 처리할 수 있다.
  5. TLS/SSL 지원
    • HTTPS를 통해 보안 연결을 제공하기 위한 TLS/SSL 인증서 설정을 간단하게 할 수 있다.
  6. 캐싱(Caching)
    • 클라이언트 요청에 대한 응답을 캐싱하여, 서버 부하를 줄이고 응답 속도를 향상시킬 수 있다.
  7. 확장성(Scalability)
    • 높을 트래픽을 처리할 수 있는 능력과, 여러 서버를 묶어서 하나의 서비스처럼 보이게 하는 클러스터링 기능을 통해 확장성이 매우 뛰어나다.

이제 대강 nginx의 특징을 알아봤으니... 설정을 하러 가보자!!

// nginx 이미지를 다운 받는다.
# docker pull nginx

// nginx가 정상적으로 다운받아졌는지 확인한다.
# docker images

// nginx container를 실행한다.
// ubuntu container를 실행했을 때와 같이 80포트를 내가 원하는 포트로 바인딩해 준다.
# docker container run --name [컨테이너명] -d -p xxxxx:80 nginx

이러면 기본적인 nginx container 설정을 끝이다.

이제 위에서 지정한 포트 xxxxx를 방화벽 허용해 준 후, 포트포워딩까지 해주고 페이지에 접속해 보면...

성공적으로 nginx가 적용되는 것을 확인할 수 있다.

0개의 댓글