[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