일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Morphological analysis #Corpus
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트v
- taskkill
- SSR
- 필사
- 출처: 자바의 신 8장
- gitbash
- khaiii
- PID
- 자바파이썬
- 마크다운
- 플젝후체크
- Kakao
- 모바일웹스킨
- 파이썬
- 코딩온라인
- 비동기
- expression statement is not assignment or call html
- Anaconda
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트
- github
- Machine Learning
- 클라이언트사이드렌더링
- terminate
- 서버사이드렌더링
- Technical Writing
- github markdown
- address
- #스파르타코딩클럽후기 #내일배움캠프후기
- 파이콘
- Today
- Total
개발 일기
DB 인스턴스 연결 / Elastic Beanstalk 배포 실패 - 환경변수 확인 본문
팀 프로젝트 - 내일 뭐 먹지 - 1015 중간 회의 & 에러 일기
원래 DB 는 data.py 에서 따로 분류했다.
판다스를 import 해서, data = pd.read_csv('파일명') 으로 불러오고,
이 파일을 돌릴 로컬 DB 서버를 지정해준 뒤
client = MongoClient('localhost', 27017)
db = client.team_project
data 를 한번 돌리고, localhost 에 쌓이면 그것을 받아와서 웹 사이트에 띄웠다.
#
최근 튜터님과의 팀 회의를 끝내고, EC2 를 두 대로 나눠서 돌려보기로 했다.
(1) DB 인스턴스 (2) 실제로 서비스가 배포될 인스턴스
DB 가 생성된 ec2 인스턴스로 app.py 를 돌렸는데, 서버가 기능하지 않았다. (버튼이 넘어가지 않는 걸 보아 데이터를 제대로 안 데려오는 것 같았다) 원인이 가늠되지 않아, 헤매다가 우선 로컬 db 에 돌리고 우리팀 파이썬 마스터인 성우님에게 도움을 청했다.
알고보니 db.이후에 데이터베이스명을 넣은 것이었다. collection 이 아니고 (이전 data.py 의 DB 에서 구조가 바뀌었는데, 그걸 미처 생각 못했다) 음식 인포가 들어가 있는 collection 인 food_info 를 넣는게 맞다.
Robo 3T 로 연결해서 보면,
사소한 오류지만, DB 가져올 때, collection / table 명을 꼼꼼히 보자
#EB 배포 시 환경 변수 패스
로컬 환경에서 작업하기 전에, git action을 활성화하고 elastic beanstalk 을 연결해서, 코드만 업데이트하면 바로 배포되게 했다.
에러: 로그인 기능 코드를 추가해서 배포하려고 하는데, ajax 통신에서 403 에러가 계속 났다. ajax call 에 eb url 은 업데이트 된 상황이었다.
알고보니 기존에 eb 에 입력한 환경변수 path 가 제대로 작동하지 않아서, 구성에서 새로운 path 를 입력했다.
Elastic Beanstalk 의 구성 -> 소프트웨어 -> 편집을 가면, 환경변수를 설정할 수 있다.
기존 변수를 미처 기록해놓지 못했는데, 바뀐 변수 PATH 는 이렇다.
mongodb://{ID}:{PASSWORD}@{몽고디비 EC2 IP}:27017
application.py에는
client = MongoClient(os.environ.get("MONGO_DB_PATH"))
으로 EC2의 환경변수를 불러온다.
이와 관련해서 다른 조 분도 비슷한 에러를 겪으셨는데,
DB_INFO -> mongodb://아이디:패스워드@EB 인스턴스 ip주소
DB_PORT -> 27017 로 설정 시 EB의 Jquery POST 500에러가 있었다.
환경변수의 문제도 있겠지만, 인스턴스에 DB 랑 서버 자체가 같이 들어가 있을 때 더 에러의 여지가 많은 것 같다.
우리 조처럼 DB를 따로 EC2 인스턴스에 빼두었을 때 잘 돌아갔다고 한다.
'Tech > Others' 카테고리의 다른 글
[에러 해결] Address already in use 일 때 process Kill 하기 (0) | 2021.09.07 |
---|---|
웹 개발 일지 (5) Get 과 Post API 활용, AWS 서버 에 올리기, FileZilla (0) | 2021.08.19 |
웹개발 일지 (3) - 크롤링, 파이썬, 서버와 Framework (0) | 2021.08.15 |
웹개발 일지 (2) - Javascript, JQUERY (0) | 2021.08.11 |
웹개발 일지 (1) - HTML, CSS, Javascript 기초 개념 (0) | 2021.08.09 |