초보 개발자

deploy 2 mongoDB Atlas 본문

RECAP - WETUBE

deploy 2 mongoDB Atlas

taehyeki 2021. 10. 23. 23:15

MongoDB Atlas: Cloud Document Database | MongoDB

 

MongoDB Atlas: Cloud Document Database

Cloud-hosted MongoDB service on AWS, Azure, and GCP

www.mongodb.com

mongoDB Atlas에 회원가입을 하고 

새 프로젝트를 만든 후 클러스터(database group과 같은것)를 만들자 FREE로 !!! 

만들고 나면 Connect버튼을 눌러주고

Username과 Password를 입력해주자 우리의 데이터가 있는 DB의 계정과 비밀번호인 만큼

안전하게 관리해야 한다. 비밀번호는 자동으로 생성해주자

랜덤으로 생긴 비밀번호를 일단 복사하여 어딘가에 적어주자.

Create Database User를 클릭해주면

Choose a connection method가 나오는데 이걸 클릭해주자.

가운데 있는 걸 선택하면 DB_URL이 나온다. 이 DB URL이 .env파일에 있는 DB_URL과 같은 것이다.

우리가 .env에 저장해둔 mongodb://로 시작하는 URL은 localhost를 위한 것이었다.

이제 우린 실제 DB가 있다. 이건 heroku에 연결해 주도록 하자.

password에 아까 적어둔 랜덤 비밀번호를 적어주도록 하자.

 

우리는 heroku 브라우저로 가서 setting을 누르고 Config Vars 에 변수를 추가할 수 있다.

우리는 전에 .env에서 변수를 관리했지만 heroku에 올리고 나서 부터는 그렇게 할 수가 없었다.

.env는 .gitignore에 있기 때문이다.

heroku의 웹사이트 내에서 변수를 설정할 수 있기 때문에 DB_URL을 적어준 뒤 다시 실행해보면 

 

이렇게 잘 작동한 것을 확인할 수 있다.

이 뿐만 아니라 COOKIE_SECRET이라던지 GH_ID GH_SECRET등과 같이 .env에 있던 변수들도 다 적어주면 된다.

2021.10.24 - [분류 전체보기] - 오류 MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster.

 

오류 MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster.

mongodb cluster를 연결하려고 할 때 뜬 오류이다. heroku에 배포하려고할 때 env에 저장해두었던 변수들을 heroku내로 옮겨주면서 mongoDB URL을 mongoDB atlas로 바꿔줄 때 오류가 났다. 구글링 해본 결과 99.9%.

taehyeki.tistory.com

만약 위와 같은 오류가 뜬다면 확인해보는 것도 좋을 것 같다.

 

우리가 서버에 비디오를 업로드하면 잘 업로드가 되는 것을 확인할 수 있는데 배포를 다시 하면

기존에 있던 영상들이 다 지워진다. 서버를 다시 만들기 때문이다. 따라서 우리는 서버를 파일 저장소로 사용하는 걸 그만 둘 것이다.

 

서버를 업데이트 하려고하면 video나 avatar들이 전부 사라지기 때문이다.

AWS의 S3를 사용해보려고 한다 다음글에서 이어진다.

'RECAP - WETUBE' 카테고리의 다른 글

deploy 3 AWS S3 ---- END ----  (0) 2021.10.24
deploy 1 heroku  (0) 2021.10.23
Comment 2 (delete)  (0) 2021.10.22
Comment 1 (create)  (0) 2021.10.20
express-flash  (0) 2021.10.19