지난 2주 동안 프로젝트를 마무리했다. 프론트엔드 코드를 일부 리팩토링을 하고 이런저런 시행착오를 거치면서 배포를 완료했다.
- 현재 개발 상황
- Front-End
코드 리팩토링
vercel을 이용한 프로젝트 배포 - Back-End
AWS EC2를 이용한 프로젝트 배포
- Front-End
아래는 지난 2주간 프로젝트를 하면서 생겼던 문제점 등을 작성했다.
- http와 https 간의 통신 문제
Front-End는 Vercel로 배포를 진행하고, Back-End 같은 경우는 AWS EC2로 배포를 진행했다. 배포를 진행하던 중, 문제가 발생했다. 프론트 엔드는 Vercel로 배포를 진행하면 https로 배포가 되고, 백엔드 같은 경우는 AWS EC2로 배포를 진행하면 따로 설정을 하지 않는 이상 http로 배포가 되는 것이었다. 그래서 어떻게 할까 방법을 생각하던 중, 두 가지의 방법이 떠올랐다.
1. 프론트도 AWS EC2에 배포를 진행하여 똑같이 http로 맞춘다.
2. 백엔드를 https로 배포를 다시 한다.
이렇게 두 가지 방법이 있었는데 먼저 첫 번째 방법으로 진행을 했었다.
프론트엔드도 배포를 위해서 AWS에 인스턴스를 하나 더 만들고, CI/CD를 위해 Jenkins를 설치하였다.
(Vercel 같은 경우는 배포를 하면 알아서 CI/CD를 해준다. 그래서 AWS에 올리더라도 똑같이 하고 싶었기 때문에 CI/CD를 위해 Jenkins를 설치하였다.)
하지만 Jenkins를 설치하고 CI/CD를 위해서 설정을 하고 빌드를 하는데 자꾸 Jenkins가 뻗었다. 그래서 이것저것 만져보다 포기를 했다.
두 번째 방법으로 진행을 했다. 도메인 같은 경우는 무료 도메인 사이트인 내도메인.한국에서 도메인을 받고 무료 ssl도 발급받았다.사실 여기서도 많이 애를 먹었다 ㅋㅋㅋㅋ발급받고 도메인에다가 설정을 해준 후, django도 ssl로 서버를 열기 위해서 구글링을 하여 아래와 같은 명령어로 실행시켰다.
python3 manage.py sslrunserver 0.0.0.0:8000 --sertificate sertificate.crt --key private.key
이렇게 입력을 해주면 https로 서버가 열리게 된다! 이제 EC2에서 안 꺼지고 계속 켜져 있도록 하는 명령어를 입력하여 백그라운드에서 돌아가도록 하면 끝이다!
# 백그라운드에서 돌아 가도록 해주는 명령어이다.
nohup python manage.py sslrunserver 0.0.0.0:8000 --sertificate sertificate.crt --key private.key &
# 로그를 보기 위해서는 아래와 같은 명령어를 입력해주면 된다.
cat nohup.out
이렇게 우여곡절이 많았지만 서버도 성공적으로 배포를 했다!
'School > 프로젝트 실습' 카테고리의 다른 글
프로젝트 실습 7주차 (2022. 05. 11. ~ 2022. 05. 17) (0) | 2022.05.17 |
---|---|
프로젝트 실습 6주차 (2022. 05. 04. ~ 2022. 05. 10.) (0) | 2022.05.17 |
프로젝트 실습 5주차 (2022. 04. 27. ~ 2022. 05. 03.) (0) | 2022.05.03 |
프로젝트 실습 4주차 (2022. 04. 20. ~ 2022. 04. 26.) (0) | 2022.05.03 |
프로젝트 실습 3주차 (2022. 04. 13. ~ 2022. 04. 19.) (0) | 2022.05.03 |