[AWS+Nginx+Gabia 배포 매뉴얼] 3. Nginx로 도메인,서브도메인 설정하기 (+Swagger 연동)

Jiisuniui·2023년 10월 10일
0
post-thumbnail
post-custom-banner

0. 구조

1. 서브도메인 설정 이유

  • todolist

2. EC2 접속 및 기본 설정

a. nginx ec2 접속

1. 연결 클릭

2. SSH 클라이언트

  • 밑의 명령 복사
  • todolist명령어 해석

3. 터미널에서 해당 Key 있는 파일 위치로 이동

  • 위에서 복사한 명령어 앞에 sudo 붙여서 권한 부여
$ cd key있는파일위치
$ sudo ssh -i "JS_NGINX_KEY.pem" ubuntu@ec2-54-180-47-21.ap-northeast-2.compute.amazonaws.com

4. 접속 완료

b. 기본 설정

1. sshd_config

  • todolist: 이유 작성
$ sudo vi /etc/ssh/sshd_config : 파일 접속

// 변경 사항
#GSSAPIAuthentication no -> GSSAPIAuthentication no : 주석 해제
#UseDNS no -> UseDns no : 주석 해제 
esc + wq! + enter : 파일 저장

$ sudo service sshd restart : sshd_config 파일 적용

3. nginx로 서브도메인 설정

a. nginx란?

  • todolist

b. nignx로 서브도메인 설정

1. nginx 설치

$ sudo apt-get update : 업데이트

$ sudo apt install nginx -y	: nginx 다운로드
$ sudo service nginx start : nginx 시작
$ sudo service nginx status : nginx 상태

2. nginx 설정

2-1. nginx 설정 파일

  • nginx.conf : nginx 설정 파일인데 밑의 default 파일을 가져오게 기본설정 되어 있다.
  • sites-available/default : 실제 수정할 파일
$ sudo vi /etc/nginx/nginx.conf
$ sudo vi /etc/nginx/sites-available/default : 여기서 수정

2-2. server 기본 설정

  • server 블록
    - todolist
    - listen 80:

2-3. 도메인(jiisuniui.site, www.jiisuniui.site)과 프론트엔드 연결

  • 프론트엔드 ec2 탄력적 IP: 13.124.175.34
  • 프론트엔드 port: 3000
server {
        listen 80;
        listen [::]:80;

        server_name jiisuniui.site www.jiisuniui.site;

        location / {
                proxy_pass http://13.124.175.34:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

2-4. 서브도메인(be.jiisuniui.site)과 백엔드 연결

  • 백엔드 ec2 탄력적 IP: 54.180.47.21
  • 백엔드 port: 8080
server{
        listen 80;
        listen [::]:80;

        server_name be.jiisuniui.site;
		location /be {
                proxy_pass http://54.180.47.21:8080;
                proxy_http_version 1.1;
                proxy_set_header Host $host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_set_header X-Real_IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Connection close;
        }
}

2-5. 서브도메인(be.jiisuniui.site)에서 백엔드 Swagger 보이게 설정

  • 백엔드 ec2 탄력적 IP: 54.180.47.21
  • 백엔드 port: 8080
server{
        listen 80;
        listen [::]:80;

        server_name be.jiisuniui.site;

        location ~ ^/(swagger|webjars|configuration|swagger-resources|v3|csrf) {
                proxy_pass http://54.180.47.21:8080;
                proxy_http_version 1.1;
                proxy_set_header Host $host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_set_header X-Real_IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Connection close;
        }
}

2-6. 설정 완료

$ sudo nginx -t : nignx 설정 파일 문제 없는지 확인
$ sudo service nginx restart : nginx 종료 후 시작
$ sudo service nginx status : nginx 상태 확인

4. 도메인 및 서브도메인 설정 완료

profile
why error?
post-custom-banner

0개의 댓글