heroku 배포 후 app crashed error / code = H10 해결하기
This problem occurred by your wrong port setting by manually
-> 이것이 주 원인
즉 우리의 로컬 서버는 정해진 포트에서 열리는데 배포 서버에서 열리게 되면 헤로쿠 자체가 가진 포트에서 열리게 되므로,
우리 자체 포트 뿐 아니라 헤로쿠에서 주는 포트도 쓸 수 있도록 해줘야 한다.
그래서 Procfile 을 web: gunicorn --bind 0.0.0.0:$PORT "서버 시작하는 메인파일":app 로 코드를 변경
그리고 아래의 코드를 순서대로 입력하고 heroku를 다시 시작해준다
heroku ps: scale web=0 : 서버 scale down
heroku ps: scale web=1 : 서버 scale up
heroku restart
heroku open 으로 사이트를 열어주고,
heroku logs --tail 을 터미널에 입력해서 서버 진행 상황을 점검해준다.
나의 경우는 config 파일이 gitignore에 있어서 실제 배포 시에 읽지를 못해서
해당 파일을 잠깐 커밋해주었다.
따라서 config 파일 커밋 후에는 나의 자체 레포로 push 하지 않고, 헤로쿠의 배포용 깃에 push 해주며 서버 테스트했다.
(배포가 성공하면, 나의 레포에는 다시 config 파일을 숨긴채로 commit 하고 push 할 예정이다.)
또 위의 log 명령어로 에러를 계속 체크해가며 없는 모듈을 추가로 설치해주었다.
이렇게 하니까 해결!!!
문제는 "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
또르르...^^....
config 파일에서
mysql+pymysql:// 이 부분을 production 부분에도 추가해 주었다.
(원래는 없는 것이 맞다. 배포용 디비 주소를 넣어야 하는데 혹시나 테스트용으로 가능한가 해서 넣어보았다)
이것마저 안되면 postgres 라고 헤로쿠 서버 배포시에 같이 만들어지는 DB 주소를 넣어서 다시 시도해 볼 예정
'TIL(Today I Learned)' 카테고리의 다른 글
20201124_TIL_디버깅!!! (0) | 2020.11.24 |
---|---|
20201123_TIL(2) (0) | 2020.11.23 |
20201121_TIL (0) | 2020.11.21 |
20201116_TIL(2) (0) | 2020.11.16 |
20201116_TIL (0) | 2020.11.16 |