술렁술렁 프로잭트 - DB 구축, 백엔드 배포, 프론트 배포
1. 구성도
1-1. 배포 전 테스트 시 AWS, NCP 를 이용하여 아래와 같이 구성함
- 프리티어 기준이 1개의 인스턴스 기준이다보니 여러대를 생성하면 프리티어도 같이 분산되어 프리티어 사용량이 빨리 채워진다.
- 프리티어 항목이 좀있는데 생각보다 깐깐하게 체크해서 결국 프리티어를 사용하면서도 비용이 청구되는 상황발생함
- 엘리스틱 빈스톡을 이용하여 배포,업로드 시 네트워크 사용을 하기때문에 프리티어 사용량이 빨리 소모된다.
- NCP의 경우 10만원 금액권과함게 1년 서버한대 무료 조건이나 디비를 올려서 사용해봤지만 AWS 와달리 서버 상태가 너무 나쁘다.
- 전통주 데이터 삽입 시 대략 쿼리가 대략 550줄 정도되는데 처리속도가 생각보다 느리다.
- 이점도 있었지만 아무래도 비용 부담이 있는 부분이라 개인서버를 쓰고 있기때문에 개인서버를 활용하는 쪽으로 방향을 바꿧다.
1-2. 개인서버를 이용하여 아래와 같이 구성함
- 위와 같이 구성하였다 DB를 별도로 사용할까 했지만 백단이랑 같이둬도 프로젝트 완료 후 사용량에 비해서 크게 문제 될것이 없다고 판단되어 한서버에 구성하였다. 필요시 이전 하면 된다 생각한다.
- 비용면에서는 자유로워 졌으나 공유기의 DDNS을 사용하기 때문에 HTTPS 적용을 할 수가 없다. HTTPS 처리를 위해선 OS를 리눅스나 윈도우 서버로 교체해야한다.
2. DB구축
2-1. 서버 생성
- OS : Ubuntu 20.04 / MariaDB 10.3.38 버전 설치
- Hyper-V를 이용하여 백엔드, 프론트 배포용 가상 컴퓨터를 생성
- 백엔드 배포용 서버에 MariaDB를 설치하여 운용 하는 방향으로 구축하였음
3. 백엔드 배포
- DB를 구축한 서버를 이용함
- Java17 버전을 사용했기 때문에 openJDK17 버전을 설치하여 백엔드 배포를 진행함
- 매번 복사 후 FTP 로 빌드된 파일을 옮기기 보단 git을 이용하여 서버에 프로젝트 를 생성한뒤 서버내에서 진행 할 수 있게 하였음.
- 프로젝트 빌드후 빌드된 파일을 프로젝트명으로 지정한 디렉터리에 지정한뒤 java 명령어로 백그라운드로 실행함
- 백그라운드 실행 명령어 ' nohup'
- 웹에서 정상작동 확인
4. 프론트 배포
- OS : Ubuntu 20.04 / node v18.17.1 /nginx 1.18.0를 사용하므로 서버에 설치한다.
- 백엔드와 동일하게 프로젝트를 git clone 하여 가져온다.
프론트 빌드 후 nginx 설정에 프론트 빌드 디렉터리 경로를 설정해준다. 이렇게 하면 빌드 후 별도 폴더 지정 할 필요없이 nginx 재시작만 하면 된다.
80포트를 설정, nginx 시작시 참조할 디렉터리 설정, 기본파일 설정을 진행함
nginx 재시작 하여 웹 접속 테스트 진행
'개인 포트폴리오 > 술렁술렁(전통주 플렛폼)' 카테고리의 다른 글
후기(그리고 보완리스트) (2) | 2023.10.14 |
---|---|
술렁술렁 프로젝트 - 개인 백엔드 작업, 전통주 데이터 크롤링, DB 데이터 삽입 (0) | 2023.10.12 |
술렁술렁 프로젝트 - 개인 백엔드 작업, 이미지 호출 API (0) | 2023.10.12 |
술렁술렁 프로젝트 - 개인 백엔드 작업, 전통주 정보 API (0) | 2023.10.12 |
술렁술렁 프로젝트 - 개인 백엔드 작업, 메인 검색 API (0) | 2023.10.12 |