티스토리 뷰

Pythonanywhere

장고로 만든 내 웹페이지를 pythonanywhere를 통해 쉽게 배포할 수 있다. pythonanywhere은 PaaS 서비스로 배포 가능한 플랫폼을 제공한다.

사용법

1. 깃을 통해 github에 프로젝트 배포

2. pythonanywhere 계정 생성

www.pythonanywhere.com 무료 계정 'beginner' 로 회원가입.

3. pythonanywhere에 있는 bash에 접속해 프로젝트를 올린 깃허브의 주소를 콜론

$ git clone <git-project-url>

4. virtualenv 생성, 패키지 다운

가상환경을 생성하고 requirements.txt를 이용해 패키지를 다운한다.

(requirements.txt 생성 방법)

$ virtualenv --python=python<your-python-version> venv
$ source venv/bin/activate # 가상환경 진입

# requirements.txt 가 있는 장고 프로젝트로 이동한 뒤 패키지 다운
$ (venv) pip install -r requirements.txt


5. 정적 파일,db 생성,관리자 생성

장고 프로젝트 루트 디렉토리 이동 후 

$ python manage.py collectstatic
$ python manage.py migrate
$ python manage.py createsuperuser

6. pythonanywhere 홈페이지의 WEB  메뉴에서 add a new web을 선택하고  manual configuration(수동설정) 선택하여 웹 앱 생성




7. Web app 생성 후 virtualenv 의 path 설정

bash에서 virtualenv 디렉토리에서 pwd 명령을 입력하면 경로가 나오는데 그 경로를 복사해 붙여 넣는다.


8. WEB 패널에서 wsgi 파일을 설정.

import os
import sys

path = '/home/menuBot/API/menubot'  # PythonAnywhere 계정으로 바꾸세요.
# ex) /home/lowellll/prj/djangoprj
# 자신의 장고 프로젝트 디렉토리에서 pwd 명령어 입력 후 경로 복사해서 넣으면 됨.
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'menubot.settings' # 장고 프로젝트 이름.settings

from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())

9. 웹 RELOAD 

맨 위의 초록색 버튼 누르고 링크 클릭하면 내 웹 페이지 생성! 자신의 아이디.pythonanywhere.com


설정 후 웹 페이지 구동이 안될 시 아래의 링크 맨 밑의 debugging에서 찾아보세요

https://github.com/lowelllll/TIL/blob/master/python/pythonanywhere.md


댓글