A ship in harbor is safe, but that is not what ships are built for.

개발일지/AI 캠프

내일배움캠프 AI - 61일차 TIL, 2022.11.25

플리피나리 2022. 11. 28. 10:51
반응형

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차

2022.11.25. 61일차 - TIL

 

 

1. 백엔드 서버 conda로 실행하는 방법

1) Anaconda 설치 : https://www.anaconda.com/products/distribution (64비트, 윈도우버전)
- 설치 시 쭉 next 누르다가 중간에 나오는 Add Anaconda3 to my PATH enviroment variable 꼭 체크하기
- 설치 완료 후 anaconda prompt를 실행하고 나온 터미널에서 python --version을 입력해 아나콘다 설치 확인
2) Anaconda 가상환경 만들기
- anaconda prompt 실행 후 conda create --name 가상환경이름(venv처럼 원하는 가상환경 이름) python==3.8 입력
- Proceed([y]/n)? 나오면 y 입력
conda activate 가상환경이름 을 입력해 가상환경이 잘 만들어졌는지 확인
3) 패키지 설치
- 텐서플로우 설치: anaconda prompt 실행 후 pip install tensorflow 입력
- opencv 설치: pip install opencv-python 입력
- dlib 설치: conda install -c conda-forge dlib 입력, Proceed([y]/n)? 나오면 y 입력
4) 패키지 설치 확인
- anaconda prompt 실행 후 conda list 명령어 입력
- tensorflow, opencv-python, dlib 있는지 확인(참고로 엄청 길게 나오는데 그게 정상입니다...)
5) Anaconda와 vscode 연동
- vscode 오픈 후 ctrl+shift+p에서 python: select interpreter 검색 후 생성한 가상 환경 선택
6) 프로젝트를 venv가 아닌 conda 가상환경에서 동작
- 아마 여태까지 venv에서 작업하셨을 거 같은데
- 로컬(컴퓨터)에 있는 작업폴더 삭제 후 본인 repo에서 다시 clone 후
- 해당 폴더를 vscode에서 열고 vscode터미널에서 cmd를 생성합니다.(powershell아님...)
- 그리고 conda activate 가상환경이름 명령을 입력하고 앞에 (가상환경이름)이 붙는지 확인(되면 가상환경 켜진겁니다..)
- 이곳에서 pip install -r requirements.txt 입력하시고 저희가 여태까지 venv에서 작업했던 것처럼 작업하면 됩니다.
7) 작업을 위한 폴더 및 파일 생성
- .env 파일 만들기
- 앱(articles, users)들과 같은 위치에 media폴더 생성, 그 하위에 output폴더 생성
##vscode를 다시 열어 작업하실 때도 그냥 파일 오픈하고 cmd 생성해 conda activate 가상환경이름 하고 작업하시면 됩니다.(python manage.py runserver같은...?)

 

+github branch pull해오는 방법
1) 로컬에 효정님 원격레포 추가: git remote add 원하는별명(origin은 있으니까 다른걸로...) 효정님깃헙주소
2) 현재 자기레포 변동사항 업데이트(push 오류 방지 위해): git remote update
3) 자기레포 업데이트 사항 가져오기(push 오류 방지 위해): git fetch
4) 효정님레포 black브런치 가져와 내 로컬(컴퓨터)에 생성: git checkout -t 효정님깃헙별명/black
5) 로컬에 있는 브런치 자기레포에 push: git push origin black

 

 

2. 도커 배포방법

1. 진행 전 셋팅

  • 모든 파일 삭제 rm -rf ./*
  • 컨테이너 sudo docker ps -a 확인 후 sudo docker rm -f 컨테이너ID 로 삭제
  • 각종 설정 삭제 sudo docker system prune
  • 컨테이너와 연결되어 있지 않은 볼륨 오브젝트 삭제 sudo docker volume prune
2. github에서 프로젝트 클론 git clone git주소./backend/django
3. vi docker-compose.yml docker 3주차 05. nginx / postgresql / django 연동하기 docker-compose.yml 코드 복붙
  • 주의사항 : entrypoint에서 gunicorn 프로젝트명.wsgi로 수정
4. vi backend/Dockerfile docker 3주차 05. nginx / postgresql / django 연동하기 backend/Dockerfile 코드 복붙
5. mkdir nginx
6. vi nginx/default.conf docker 3주차 05. nginx / postgresql / django 연동하기 nginx 설정파일 만들기 코드 복붙
7. sudo docker compose up --build만약 .env 만들어서 관리하려면?(.env로 시크릿키 관리했으면 필수 과정)
8. vi .env
yaml
DEBUG=1
POSTGRES_DB=django
POSTGRES_USER=user
POSTGRES_PASSWORD=P@ssw0rd
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
SECRET_KEY='키값'​
넣어주고 vi docker-compose.yml 에서 backend 부분에 SECRET_KEY 추가. 이때 POSTGRES_DB=django 이런 식으로 되어있는것들도 다 POSTGRES_DB로만 바꿔주면 됩니다. .env에서 불러오기 때문입니다.

 

반응형