on
[Django파이썬웹프로그래밍] 07 Cloud 서버에 Django 배포하기 - 7.1~7.7
[Django파이썬웹프로그래밍] 07 Cloud 서버에 Django 배포하기 - 7.1~7.7
반응형
여기까지 온 것 칭찬해~~
이제 배포 갑시다~
웹 프로젝트를 다른 사람들에게 오픈할 예정이라면,
운영 서버를 준비하고 여러분이 개발한 프로그램을 배포해야 합니다.
하지만!!!!
클라우드는 개발할 모든 자원들은 제공해주는 SaaS 웹 서비스이니
애용해 봅시다.
종류는 여러가지에요..
AWS, Digital Ocean, Heroku, PythonAnywhere 등등,,
하지만, 이 책에서는 무료이면서 사용하기도 쉬워서
파이썬 개발자들이 많이 사용하는
'PythonAnywhere' 사이트를 활용할 것입니다.
7.1 PythonAnywhere 사이트에 가입하기
어서 가입해봅시다~ 먼저 접속 해주시고~
https://www.pythonanywhere.com/
짜잔
우측 상단, Log in 버튼!
[그림07_01] PythonAnywhere 메인 페이지
Login 화면에선 Sign up here
[그림07_02] 로그인 화면
Sign up here 화면에선 Sign up here 클릭
[그림07_03] Sign up here 화면
Sign up here 화면에선 Sign up here 클릭
[그림07_04] 계정 생성하기
아래는 가입 완료는 아니구요.. 중간에 Warning 으로 이메일 컨펌 해줘야 됩니다ㅜ..
[그림07_05] 계정 생성 후 접속화면 아직은 미완료
메일로 접속하셔서 컨펌 하시면 완료!
[그림07_06] 완료 화면
7.2 장고 소스 가져오기
그 동안 실습한 프로젝트 폴더를 압축한다.
[그림07_07] 프로젝트 폴더 압축
Pythonanywhere 내 프로젝트 폴더 만들기
[그림07_08] Pythonanywhere 내 프로젝트 폴더 만들기
클라우드 내 플젝 폴더로 파일 올리기
[그림07_09] 클라우드 내 플젝 폴더로 파일 올리기
7.3 리눅스 명령으로 압축 풀기
아래와 같이 Consoles > Bash 누르기
[그림07_10] 배포준비
잠시 기다렸다가 아래와 같이 명령어 수행
# 위치 확인 pwd # 하위 폴더/파일 확인 ls -al # 하위 폴더 들어가기 cd 폴더명 # 압축파일 풀기 unzip 파일명
[그림07_11] 배포준비2
7.4 가상 환경 만들기
가상 환경을 구성하여 배포한다.
# 가상 환경 디렉토리 VENV 만들고, 이동하기 cd (가상 환경 구성 디렉토리) mkdir VENV cd VENV # python 3.6 을 사용하는 가상 환경 DUNN_Proj_env_v3 을 만든다( 이름 변경 가능) virtualenv --python python3.6 DUNN_Proj_env_v3 # DUNN_Proj_env_v3 가상 환경 안으로 진입한다. source (가상 환경 구성 디렉토리)/VENV/DUNN_Proj_env_v3/bin/activate # 가상 환경 내에서 python 버젼 확인 python -V # 가상 환경에서 나오기 deactivate
아래는 수행 결과 화면이다.
[그림07_12] 가상 환경 구성 결과 화면
다음 장고를 설치해보자
# 가상 환경 안으로 진입한다. source (가상 환경 구성 디렉토리)/VENV/DUNN_Proj_env_v3/bin/activate # --가상 환경--- # django 2.0 버전 설치 pip install Django==2.0 # 가상 환경 내 설치된 패키지 리스트를 확인 pip list
[그림07_13] 장고 설치 화면
7.5 PythonAnywhere 서버에서 장고 설정 변경하기
PythonAnywhere 에서 배포하기 위한 설정을 해보자.
# 가상 환경 안으로 진입한다. source (가상 환경 구성 디렉토리)/VENV/DUNN_Proj_env_v3/bin/activate # --가상 환경--- cd /home/(프로젝트디렉토리)/ # settings.py 파일 위치로 이동 vi settings.py ---------------- 파일 안에서 아래 내용 변경 후 저장하기------------------- (i 누르기) ... ALLOWED_HOSTS = ['(가입시이름)/pythonanywhere.com', 'localhost', '127.0.0.1'] # 변경 ... STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'www_dir', 'static') # 추가 ... (:wq 로 저장후 나오기) -------------------------------------------------------------------------- python manage.py collectstatic
7.6 PythonAnywhere 웹 서버 설정하기
PythonAnywhere 서버 HW에도 웹서버가 실행되고 있다.
이 웹서버가 장고 프로그램을 인식할 수 있도록 웹 서버의 설정을 변경해야 한다.
Web > Add a new web app > Next
[그림07_14] PythonAnywhere Web 화면이다.
다음 Manual Configuration (including virtualenvs) 선택
[그림07_15] 웹 서버 설정하기1
다음 따라서 Python 3.6 선택
[그림07_16] 웹 서버 설정하기2 [그림07_16] 웹 서버 설정하기3 [그림07_17] 웹 서버 설정하기4
[그림07_18] 웹 서버 설정하기5
import os import sys # 플프롲프로젝프로젝틍프로젝트의 뤁루트 딜디렉디렉톨디렉토릴디렉토리를 짖지정지정합지정합닏지정합니다. path = '/home/dunn/DUNN_TEST_PROJ/211127/dunn_211127_v01' # 상황에 맞춰 수정 if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE'] = 'kej_test.settings' # 상황에 맞춰 수정 from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
하지만, 이 책에서는 무료이면서 사용하기
반응형
from http://eundunn.tistory.com/44 by ccl(A) rewrite - 2021-11-27 10:01:29