무료 백엔드 호스팅 사이트 Cloudtype에 mysql 연결한 Node.js 배포하기
점점 무료로 백엔드를 호스팅할 수 있는 서비스가 줄어들고 있다.
유명한 Heroku도 더 이상 무료플랜을 지원하지 않는다.
그런데 국내 사용자를 타겟으로 한, 백엔드도 배포할 수 있는 호스팅 서비스가 있다!
배포 과정이 정말 쉬운데 mysql를 연결한 백엔드를 배포할 경우 추가 작업이 필요해서 이 부분에서 삽질하는 사람들이 많았다.
나도 그 중 한 명이었기 때문에 어떻게 성공적으로 배포하였는지 경험을 공유하려고 한다.
1. cloudtype에 가입하고 Github 연결하기
가입하고 github연결해준다.
2. 연결한 저장소의 코드를 배포하기 위한 정보들을 입력해주기
3. 배포하기 클릭
2번에서 필요한 정보를 모두 입력했다면 배포하기 버튼을 누른다.
일단 여기까지 하면 서버 배포는 끝이다.
중요한 부분은 여기서부터 시작이다.
DB를 연결해 줄 프로젝트를 하나 더 생성해야 한다.
1. mariaDB 프로젝트 생성하기
mySQL인데 왜 mariaDB프로젝트를 생성하냐고 의문을 가질 것이다.
하지만 mySQL연동에 필요한 과정이므로 따라하자.
혹시 cloudtype의 공식 문서를 참고하고 싶다면 이 링크로 가면 된다.
2. 여기서 본인 깃허브 저장소를 연결하지 않고 '새 프로젝트 만들기'를 선택한다.
프로젝트 이름과 리전을 선택 -> Root Password 입력 (본인이 사용할 패스워드를 입력하면 된다) -> 배포하기 버튼 클릭
3. 그렇게 만든 프로젝트의 설정환경을 변경해주어야 한다.
TCP외부 접속 허용하고 적용하기를 눌러준다.
4. mariaDB 프로젝트의 도메인 주소를 SQL workbench에 입력해주기
mariaDB프로젝트 배포가 완료되면 도메인이 나온다.
도메인:포트번호 형태인데, 이것과 root password를 복사해준다.
4. MySQL workbench에 connection 생성해주기
5. 백엔드 코드를 수정해줘야 한다. (수정 후 재배포)
mysql은 기본적으로 3306포트를 사용하지만, 이제는 cloudtype에 배포된 hostname과 port번호로 연결을 해주어야 한다.
그 커넥션을 생성하는 과정이 4번의 과정이었다.
그래서 코드 내에서 만약 hostname과 port를 하드코딩 해주었거나, default값을 사용하고 있다면 이 부분을 변경해주어야 한다.
(이래서 설정값들은 환경변수로 설정해주는 것이 좋다. 코드를 직접 수정하지 않고 환경변수만 수정해준 뒤 재배포하면 되기 때문.)
mysql2를 사용하는 경우
sequelize를 사용하는 경우
코드를 수정해주었다면 깃허브에 push해주고, cloudtype에 가서 다시 배포하기를 눌러주면 된다.
이제 서버에 접속하기 버튼을 눌러 502나 503에러가 뜨지 않고 404가 뜬다면 성공이다!
postman이나 어플리케이션에서 cloudtype에서 배포한 서버 주소에 연결했을 때 연결 성공하면 완전 성공!
'백엔드' 카테고리의 다른 글
[Node.js] 소니 카메라로 영상 실컷 찍었는데 확장자가 mts다 젠장! (feat. mp4로 변환하는 기능 만들기) (0) | 2024.07.19 |
---|---|
Node.js로 사진 폴더 정리 기능 만들기 (0) | 2023.11.13 |