본문 바로가기
Web/backend

AWS django 배포

by yongmin.Lee 2020. 10. 24.

AWS

cloud storage platform : ebs, s3
saas :sas, 

amazon aws, google cloudplatform, microsoft azure

ec2 : 몇분안에 구동 가능한 가상 서버 (서버를 하나 빌려줌)
vpc : aws 네트워크안에서 사용자 전용의 사설 네트워크 망 (네트워크 망을 빌려줌)
virtual private cloud
 EBS:  스토리지 타입
 
s3 : 파일 업로드 및 공유
rds : 클라우드에서 데이터베이스 관리 (mysql, oracle 등등 왠만한 db지원)
elb : 서버로 들어오는 트래픽을 여러개의 머신으로 전달 (load balancing)


rds 접속하기위한 우분투 쉘 커맨드
$mysql -h "rds엔드포인트주소" -u root -p

덤프 빼는 명령어
mysqldump -u root -p db이름 > 덤프파일이름.sql

덤프를 db에 밀어 넣는 명령어
mysql -h "원격db주소" -u root -p db이름 < 덤프파일이름.sql

 

 

배포


미니콘다설치
패키지설치
구니콘 설치

 

python manage.py runserver는 단일쓰레드로 서버를 실행시키므로 개발서버에서는 적합하지만 배포서버에서는 적합하지않으므로 따라서 멀티쓰레드를 지원하는 웹앱 서버프로그램인 구니콘을 사용하여 배포

 

구니콘으로 서버 실행 명령어

$ gunicorn --bind=0.0.0.0:8000 프로젝트이름.wsgi

 

백그라운드에서 구니콘으로 서버 실행 명령어

$ nohup gunicorn --bind=0.0.0.0:8000 프로젝트이름.wsgi &