Django AWS에서 배포하기
1. ssh로 AWS 접속
1 |
|
2. git clone
1 |
|
3. Nginx를 이용한 포트 설정
Nginx는 서버 앞단에서 request를 가장 먼저 처리하는 웹 서버이다. Nginx를 이용하여 기본 포트인 80으로 들어와도 웹 사이트에 접근할 수 있도록 한다.
1 |
|
설정파일 생성
1 |
|
설정파일 저장 후 nginx 재실행
1 |
|
4. uWSGI로 django server 실행
uWSGI
WSGI는 장고와 웹서버를 연결해주는 Python 프레임워크이다.
웹서버가 직접적으로 Python으로 된 장고와 통신할 수 없기 때문에 그 사이에서 WSGI Server (middleware) 가 실행되어 웹서버와 장고를 연결해준다.
웹서버가 전달받은 사용자의 요청을 WSGI Server에서 처리하여 Django로 넘겨주고, 다시 Django가 넘겨준 응답을 WSGI Server가 받아서 웹 서버에 전달한다.
1 |
|
Django의 프로젝트 폴더 안에 있는 프로젝트명의 폴더를 보면, wsgi.py 파일이 들어 있을 것이다. 이것을 uWSGI로 서비스 하려면 다음과 같이 하면 된다. 내 프로젝트명은 lily 이다.
프로젝트의 전체 경로는 /home/ubuntu/lily 이며 wsgi.py 파일은 /home/ubuntu/lily/wsgi.py 에 있다.
모듈의 경로는 lily/wsgi.py를 넣는 것이 아니라 html.wsgi 로 넣는다.
1 |
|
1 |
|
여기까지 설정을 하면 public ip로 접속했을 때 django server로 연결된다.
이제 구입한 도메인과 연결하자
public ip와 도메인 연결
도메인은 hosting.kr 에서 구입하였다. ( co.kr - 1년 구독 9800원 )
AWS 인스턴스와 구입한 도메인은 AWS Route53을 이용한다.
AWS Route53을 이용한 도메인 연결 :
https://wingsnote.com/57
https://tech.cloud.nongshim.co.kr/2018/10/16/초보자를-위한-aws-웹구축-8-무료-도메인으로-route-53-등록-및-elb/
** hosting.kr 의 기본 도메인
1 |
|
출처
https://dailyheumsi.tistory.com/19
https://crystalcube.co.kr/205
https://twpower.github.io/41-connect-nginx-uwsgi-django
https://nachwon.github.io/django-deploy-2-wsgi/
https://brownbears.tistory.com/174