티스토리 뷰
django | django + nginx + mariaDB 연결 오류처리 docker-compose
icf_ 2022. 11. 20. 23:45do_it_django에서는 장고+nginx+postgresql을 사용했는데,
잘 모르는 postgresql말고 mariaDB로 바꾸고 싶어서 노가다 끝에 성공...
다음은 nginx를 apache로 바꿔봐야지...
docker-compose.yml 설정.
문제는 docker container로 올릴때 발생했는데...
mysqlclient 설치가 안되는 것이었다.
해결방법 dockerfile에 아래 세가지를 추가하고 하면 잘됨...
문제는 mysql_config이 없다고나오는데 그건 'default-libmysqlclient-dev'로 해결.
그리고 또에러가나오는데 python-dev로 해결
그리고 또 나오는데 gcc가 없다고나와서 또 설치해서 해결...
RUN apt-get install -y gcc
RUN apt-get install -y default-libmysqlclient-dev
RUN apt-get install -y python-dev
중간에 db-server도 설치해보고, db가 올라오기전에 django가 먼저올라와서 그런가해서 대기도걸어보고...
별에별짓 다했는데...
그냥 저거 세줄이면 해결되는거였다...
위내용으로하면 끝인줄알았더니 이번에는 또 다른 문제가 발생...위내용은 window개발 pc에서 진행한거였는데 문제가 없었다.
그런데 centOS7 서비스용 pc로 git pull로 땡기고 빌드하는데 계속 문제가 발생하였다.
1. 환경변수 문제.
mysql과 mariadb에서 사용하는 환경변수가 다른 문제.
윈도우에서는 왜 되는지 잘 모르겠으나, 일단 문제가 발생.
환경변수파일도 인식이 잘 안되서 아에 직접 넣어서 해결.
2. 1서버 2개 서비스 컨테이너 문제.
네트워크 통신이 잘 안되서 그냥 첫번째 서비스 올라가있는 네트워크에 붙여버렸음.
3. ci/cd 자동화 문제.
db가 올라오기전에 django가 올라오면서 문제가 생기는현상.
migrate가 정상적으로 되지않음...
docker-compose있는 경로에 아래 wait-for-it.sh파일을 생성및 설정.
https://github.com/vishnubob/wait-for-it/blob/master/wait-for-it.sh
docker-compose 구문 수정
서버가 먼저 올라오면안됨 마이그레이션 먼저 실행 시키고 서버올리는 순서로 작성.
대기시키는 상태 추가하여 해결...
'프로그래밍 학습 > Python-Django 3.2' 카테고리의 다른 글
예제 | Function Based View (0) | 2023.05.29 |
---|---|
django | summernote 적용 (0) | 2023.02.05 |
django | app생성 및 적용 (0) | 2022.11.20 |
djangon | url경로 지정, include (0) | 2022.11.14 |
django | makemigrations & migrate (models 작성 및 db적용) (0) | 2022.11.14 |
- Total
- Today
- Yesterday
- 코딩
- 서버관리
- 엑셀고수
- pi
- VBA매크로
- SSH
- aws
- 사무자동화
- 경영관리
- 리눅스
- VBA
- 경영기획
- Django
- 비즈니스
- VBA편집기
- 경영
- 쿠버네티스
- CentOS
- Linux
- MariaDB
- 컴퓨터관리
- Excel
- 클라우드
- MySQL
- 인프라
- VBA강의
- 비즈니스혁신
- 컴퓨터활용
- 전산실
- CICD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |