sbb - 배포(3)

JIWOO YUN·2024년 6월 11일
0

게시판만들기

목록 보기
20/21
post-custom-banner

nginx를 사용하기전 도메인 연결하기

  • 이전에 설명으로 적어놨듯이 도메인을 설정하지 않는다면 기본적으로 사용성이 떨어지기 때문에 도메인을 가비아에서 사서 이용해보자.

프로젝트 테스트 용도로 했기 때문에 가비아에서 이벤트로 1년 계약시 싼 도메인을 이용했다.

가비아에서 산 도메인을 내가 현재 배포연습으로 aws ec2 서버에서 docker로 배포중인 파일에 dns 설정을 해보자.

도메인을 산 후에 도메인관리 시스템 이용

DNSZI

  1. 해당 도메인을 등록 후 받은 네임서버로 가비아에 설정된 네임서버를 변경해준다.
  2. 해당 ip에 도메인을 추가하기 위해서 호스트 IP관리를 통해서 내가 연결할 ip를 추가해준다.

이런식으로 가해준다. a 레코드 부분은'www.결제한도메인' 과

'결제한도메인' 으로 연결을 시도하면 해당 ip로 연결되게 하게 추가해놓고 밑에는 적용됬는지 확인.

  • 제대로 적용된 모습.

도메인이 제대로 적용 됬으니 관리를 위해서 NPM을 설치해서 진행.

도커 컴포즈를 통해서 왜 npm을 관리할까?

  • 효율적으로 관리하기 위해서
    • 도커 컴포즈 파일을 사용하여 코드로 인프라를 정의할 수 있다.
  • 간단한 명령어
    • 컴포즈 파일에 정리하고 실행 시키는 방법은 docker-compose up -d 같이 단일 명령어로 사용이 가능하다.
  • 일관된 환경을 사용가능
    • 도커 컴포즈 파일을 사용할 시 모든 개발자가 동일한 환경을 쉽게 재현 가능.

설치 과정

  1. 도커 컴포즈 설치
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. 실행 권한 부여
sudo chmod +x /usr/local/bin/docker-compose
  1. 버전 확인
docker-compose --version

버전 확인을 끝으로 docker-compose가 제대로 설치되있는지 확인.

docker-compose.yml 작성

version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
    environment:
      TZ: "Asia/Seoul"
      DB_MYSQL_HOST: "172.17.0.1"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "lldjlocal"
      DB_MYSQL_PASSWORD: "1234"
      DB_MYSQL_NAME: "nginx"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

docker-compose 실행

  • docker-compose up -d
    • -d -> 데몬 실행(백그라운드에서 실행)

http://공인ip:81 포트 연결

  • npm 포트

  • 처음 로그인 하면 기본적으로 임시계정이 있다.
  • id : admin@example.com
  • password : changeme

로그인을 하게 되면 id 부터 password 까지 새로 작성 진행

npm에서 81,80,443 포트를 관리하기 때문에 이전에 만든 80포트를 사용하는 sbb_1 도커이미지는 삭제한 뒤에

8080 포트로 들어올 경우 8080으로 연결되게 바꿔줘야한다.

도커 이미지 삭제 & 도커 컨테이너 삭제

  • docker rmi -f sbb_1
  • docker rm -f sbb

sbb 프로젝트로 이동하고 이전에 만든 Dockerfile을 통해서 다시 빌드 하고 도커를 run 시킬때

  • docker build -t sbb

80 : 8080 으로 연결햇는데 npm에서 해당 부분을 포워딩시켜주니 8080:8080으로 변경하여 도커를 실행하기.

docker run \
  --name=sbb \
  --restart unless-stopped \
  -p 8080:8080 \
  -e TZ=Asia/Seoul \
  -e JASYPT_ENCRYPTOR_PASSWORD=$JASYPT_ENCRYPTOR_PASSWORD \
  -d \
  sbb

성공적으로 연결이 완료되었다.

이렇게 npm 을 설치하고 도메인을 연결까지 진행완료.


참고 Ref

도커 컴포즈 개념과 설치

​ : https://seosh817.tistory.com/387

DNSZI

​ : https://www.codesarang.com/10

​ : https://dnszi.com/domain_blog_tistory.html

profile
열심히하자
post-custom-banner

0개의 댓글