211205 CICD를 위한 NGINX

GuruneLee·2021년 12월 5일
1

GIST청원사이트-BE

목록 보기
3/11

참여자: 고세연, 김태완, 이창하, 최은기

기본지식

http 기본 port - 80
https 기본 port - 443

Domain name server 엔 IP 정보일 뿐, port 정보가 들어가있지 않다.

왜 NGINX?

http://domain:8080... 이렇게 port 를 명시하지 않으려면 다음과 같은 방법을 사용할 수 있다.
1. spring 에서 포트 바꿔주기
2. iptable 설정하기 (ec2)
3. NGINX 사용한다 what is NGINX

-> 추후 https 확장가능성, 로드밸런서로서의 사용성을 생각해봤을 때 ‘3. NGINX’ 를 사용하는것으로 결정

NGINX이랑 Jar 올리기

한 ec2 에 jar파일을 실행시키고 / NGINX docker 를 올리는 것으로 함

일단 jar 실행시켜보기

ec2 에 java 11 설치
./gradlew clean build
Jar 실행

NGINX 올리기

Docker 설치
Dockerfile, nginx.config 를 작성하고
docker build -t — .
docker run -d -p 80:80 —

가비아에서 도메인(www.gist-petition.com) 구매
적용하기

Snippets

docker install script

sudo apt-get update && \
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
sudo apt-key fingerprint 0EBFCD88 && \
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \
sudo apt-get update && \
sudo apt-get install -y docker-ce && \
sudo usermod -aG docker ubuntu && \
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
sudo chmod +x /usr/local/bin/docker-compose && \
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

dockerfile for nginx

//nginx - Dockerfile
FROM nginx

COPY nginx.conf /etc/nginx/nginx.conf

nginx.config (80->8080)

//nginx.config
events {}

http {
  upstream app {
    server 172.17.0.1:8080;
  }

  server {
    listen 80;

    location / {
      proxy_pass http://app;
    }
  }
}

기타

Gradlew : gradle wrapper -> gradle이 설치되어있지 않아도 버전에 맞는 gradle을 설치해 사용함
gradle wrapper 장점

profile
Today, I Shoveled AGAIN....

0개의 댓글