[파이썬 웹프로그래밍] Chap 7. Cloud 서버에 Django 배포하기

  • 0
  • 0
0
0

1. Cloud 서비스

클라우드 서비스는 인터넷에 있는 서버를 빌려 사용하는 것을 말한다. 필요한 만큼 서버 자원을 빌려 쓰고, 쓴 만큼 비용을 지불하는 방식.

클라우드 서비스를 제공해주는 사이트는 AWS(Amazon Web Service), PythonAnywhere 등이 있다. 이번에는 무료이면서 사용하기 쉬운 PythonAnywhere을 사용한다.

2. PythonAnywhere 사이트에 가입하기

PythonAnywhere에서 로그인하고 Create a Beginner account를 선택한다. 가입시 입력한 Username으로 도메인명이 결정된다.

3. 장고 소스 가져오기

소스파일을 압축해서 PythonAnywhere 서버에서 Files 메뉴로 이동한다. 디렉토리를 만들고 파일을 업로드한다.

4. 리눅스 명령으로 압축 풀기

consoles 메뉴에서 Bash를 클릭하여 터미널을 실행시킨다.

업로드시킨 파일의 위치로 이동하여 압축을 풀어준다.

cd /home/mildsalmon/pyBook/ch3 ls -la unzip ch3.zip

5. 가상 환경 만들기

가상 환경을 모아둘 디렉토리를 만든다.

cd /home/mildsalmon mkdir VENV cd VENV

파이썬 3.6을 사용하는 가상 환경 v3PyBook을 만든다.

virtualenv --python python 3.8 v3PyBook

v3PyBook 가상 환경 안으로 진입한다.

source /home/mildsalmon/VENV/v3PyBook/bin/activate

파이썬 버전 확인하기

(v3PyBook) python -V

가상 환경 빠져나오

(v3PyBook) deactivate

장고 설치하기

(v3PyBook) pip install Django==3.0

6. PythonAnywhere 서버에서 장고 설정 변경하기

A. mysite/settings.py


(...)

ALLOWED_HOSTS = ['mildsalmon.pythonanywhere', 'localhost', '127.0.0.1']

(...)

STATIC_ROOT = os.path.join(BASE_DIR, 'www_dir', 'static')

(...)

정적 파일을 모으기 위해 collectstatic 명령을 실행

python manage.py collectstatic

7. PythonAnywhere 웹 서버 설정하기

설정 마법사에 의해 등록된 내용을 수정해야 한다. 설정 사항 중 Code, Virtualenv, Static files 등 3개 섹션의 내용을 지금까지 개발한 장고 프로젝트에 맞춰 수정한다.

A. Code

WSGI configuration file의 내용만 수정한다. Python의 버전은 가상 환경의 버전과 일치하는지 확인한다.

a. /var/www/mildsalmon_pythonanywhere_com_wsgi.py

import os
import sys

path = '/home/mildsalmon/pyBook/ch3'

if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

B. Vitrualenv

가상 환경을 등록한다.

C. Static files

settings.py 파일에 정의된 내용을 그대로 입력한다.

URL = STATIC_URL

Directory = STATIC_ROOT

D. Reload

참고문헌

김석훈, "Django로 배우는 쉽고 빠른 웹개발 파이썬 웹프로그래밍", 개정판, 4쇄, 한빛미디어, 2020년

#Django #웹서버 #클라우드

0분전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.