여기까지 온 것 칭찬해~~
이제 배포 갑시다~

웹 프로젝트를 다른 사람들에게 오픈할 예정이라면,
운영 서버를 준비하고 여러분이 개발한 프로그램을 배포해야 합니다.
하지만!!!!
클라우드는 개발할 모든 자원들은 제공해주는 SaaS 웹 서비스이니
애용해 봅시다.
종류는 여러가지에요..
AWS, Digital Ocean, Heroku, PythonAnywhere 등등,,
하지만, 이 책에서는 무료이면서 사용하기도 쉬워서
파이썬 개발자들이 많이 사용하는
'PythonAnywhere' 사이트를 활용할 것입니다.
7.1 PythonAnywhere 사이트에 가입하기
어서 가입해봅시다~ 먼저 접속 해주시고~
https://www.pythonanywhere.com/
Host, run, and code Python in the cloud: PythonAnywhere
Batteries included With Python versions 2.7, 3.5, 3.6, 3.7 and 3.8, and all the goodies you normally find in a Python installation, PythonAnywhere is also preconfigured with loads of useful libraries, like NumPy, SciPy, Mechanize, BeautifulSoup, pycrypto,
www.pythonanywhere.com
짜잔

우측 상단, Log in 버튼!
Login 화면에선 Sign up here
Sign up here 화면에선 Sign up here 클릭
Sign up here 화면에선 Sign up here 클릭
아래는 가입 완료는 아니구요.. 중간에 Warning 으로 이메일 컨펌 해줘야 됩니다ㅜ..
메일로 접속하셔서 컨펌 하시면 완료!
7.2 장고 소스 가져오기
그 동안 실습한 프로젝트 폴더를 압축한다.
Pythonanywhere 내 프로젝트 폴더 만들기
클라우드 내 플젝 폴더로 파일 올리기
7.3 리눅스 명령으로 압축 풀기
아래와 같이 Consoles > Bash 누르기
잠시 기다렸다가 아래와 같이 명령어 수행
# 위치 확인
pwd
# 하위 폴더/파일 확인
ls -al
# 하위 폴더 들어가기
cd 폴더명
# 압축파일 풀기
unzip 파일명
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
아래는 수행 결과 화면이다.
다음 장고를 설치해보자
# 가상 환경 안으로 진입한다.
source (가상 환경 구성 디렉토리)/VENV/DUNN_Proj_env_v3/bin/activate
# --가상 환경---
# django 2.0 버전 설치
pip install Django==2.0
# 가상 환경 내 설치된 패키지 리스트를 확인
pip list
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
다음 Manual Configuration (including virtualenvs) 선택
다음 따라서 Python 3.6 선택
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()
하지만, 이 책에서는 무료이면서 사용하기
'IT 툴툴' 카테고리의 다른 글
[Django파이썬웹프로그래밍-실전] 01 장고 개발의 기본 사항 및 가상환경 사용하기 - 1.1~1.2 (0) | 2021.12.26 |
---|---|
[Django파이썬웹프로그래밍] 08 Apache 웹 서버와 연동 - 8.1 (0) | 2021.11.27 |
[Django파이썬웹프로그래밍] 06 Django의 웹 서버 연동 원리 - 6.1~6.3 (0) | 2021.11.27 |
[Django파이썬웹프로그래밍] 05 실습 예제 확장하기 - 5.2~5.3 (0) | 2021.11.27 |
[Django파이썬웹프로그래밍] 05 실습 예제 확장하기 - 5.1 (0) | 2021.11.27 |