내맘대로 개발 일기/뽀모로 Do!

[인프라 구축] Nginx 설치하기

bu119 2024. 6. 9. 22:00
728x90
반응형

 

Nginx를 설치하는 방법에는 두 가지가 있다.

  1. 호스트 시스템에 Nginx를 직접 설치하기
  2. Nginx를 Docker 컨테이너로 실행하기

Docker를 사용하면 서비스와 그 환경을 격리할 수 있기 때문에 호스트 시스템에 영향을 덜 줄 수 있다. 또한,  Docker 컨테이너는 환경을 쉽게 복제하고 배포할 수 있으며, 여러 환경에서 일관되게 실행될 수 있도록 도와준다. 따라서 특히 복잡한 환경이나 여러 서비스를 함께 사용하는 경우에는 Docker를 사용하는 것이 유용하다.

 

즉, Docker를 사용하면 서비스와 해당 환경을 격리하여, 호스트 시스템에 미치는 영향을 최소화하고, 환경을 쉽게 복제하고 배포할 수 있으며, 관리를 단순화할 수 있다.

 

이러한 이유로, 우리 프로젝트에서는 Docker 컨테이너로 Nginx를 관리할 것이다.

 

두 가지 방법 모두 작성해놓겠다.

 

1. Nginx를 Docker 컨테이너로 실행하는 방법

1. Nginx 이미지 다운로드

Docker Hub에서 Nginx 이미지를 다운로드다.

docker pull nginx

이 명령어는 최신 버전의 Nginx 이미지를 다운로드한다.

즉, nginx:latest와 같은 이미지를 다운로드하는 것이다.

docker pull nginx:latest

 

실습

ubuntu@ip-000-000-000-000:~$ docker pull nginx

Using default tag: latest
latest: Pulling from library/nginx
09f376ebb190: Pull complete
5529e0792248: Pull complete
9b3addd3eb3d: Pull complete
57910a8c4316: Pull complete
7b5f78f21449: Pull complete
b7923aa4e8a6: Pull complete
785625911f12: Pull complete
Digest: sha256:0f041234098765asdfghjklxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

ubuntu@ip-000-000-000-000:~$ docker images

REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
nginx         latest    4fxxxxxxxxxx   11 days ago     188MB

 

2. Nginx 컨테이너 실행

Nginx 컨테이너를 실행하여 포트 80과 443을 호스트에 연결한다.

이를 통해 외부에서 HTTP 및 HTTPS 요청을 처리할 수 있다.

docker run --name nginx -d -p 80:80 -p 443:443 nginx

 

사용된 옵션 의미 보기

 

더보기
  • --name nginx: 컨테이너의 이름을 nginx로 설정합니다.
  • -d: 컨테이너를 백그라운드에서 실행합니다.
  • -p 80:80 -p 443:443: 호스트의 80번 포트와 443번 포트를 컨테이너의 80번 포트와 443번 포트로 매핑합니다.

이렇게 하면 Nginx 서버가 Docker 컨테이너로 실행되며, 호스트의 80번 및 443번 포트로 들어오는 HTTP 및 HTTPS 트래픽이 컨테이너 내의 Nginx로 전달된다.

 

3. Nginx 설치 확인하기

Nginx를 설치했다면, 해당 서버의 ip 주소 또는 도메인 주소의 80포트로 접속한다.

Nginx가 정상적으로 실행되고 있다면 아래의 페이지가 보여진다.

 

실습

ubuntu@ip-000-000-000-000:~$ docker run --name nginx -d -p 80:80 -p 443:443 nginx
78000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000000000000

ubuntu@ip-000-000-000-000:~$ docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                                             PORTS                                                                                                         NAMES
780000000000   nginx          "/docker-entrypoint.…"   11 minutes ago   Up 11 m                                   inutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/t                                   cp   nginx
460000000000   mysql:latest   "docker-entrypoint.s…"   2 days ago       Up 2 da                                   ys       0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                                          mysql-server

 

2. Nginx를 호스트 시스템에 직접 설치하는 방법

1. Nginx 설치

# Ubuntu 패키지 목록 업데이트
sudo apt update

# Nginx 설치
sudo apt install nginx -y

 

-y 옵션의 의미

더보기

명령어에 -y 옵션이 포함된 경우, 이는 설치 도중 "예"라고 자동으로 응답하겠다는 뜻이다.

예를 들어, sudo apt install nginx -y는 Nginx 설치 과정에서 사용자에게 확인을 요구하는 메시지에 자동으로 "예"라고 응답하여 설치를 진행하게 한다.

 

2. Nginx가 제대로 설치되었는지 확인

# Nginx 상태 확인
sudo systemctl status nginx

이 명령어는 Nginx가 실행 중인지 확인하고, 웹 브라우저에서 서버 IP 주소를 입력하여 기본 Nginx 환영 페이지가 나타나는지 확인한다.

728x90
반응형