노래하듯 이야기하고, 춤추듯 정복하라.

pythonanywhere 사용기 - 프로젝트 배포하기 본문

프로젝트/Yes Interior

pythonanywhere 사용기 - 프로젝트 배포하기

hyeoke 2017. 12. 5. 13:23

#서두

안녕하세요 모닝버드입니다! 몇일 전에 완성된 YesInterior 장고 프로젝트를 헤로쿠(heroku)서버에 테스트 및 포트폴리오 용도로 릴리즈 해 놓았었는데요.. 이 헤로쿠(heroku)서버를 사용하던 중 문제가 생겼습니다. YesInterior 홈페이지의 핵심이 현재까지 진행 한 학원 인테리어 공사를 보여주는 포트폴리오 기능입니다. 


그런데 헤로쿠 서버에서 포트폴리오 데이터의 사진 데이터들이 앱 배포 후 일정 시간이 지나면 모두 사라져 버렸습니다. 그래서 모든 데이터를 초기화 시킨 후 다시 업로드 해 보았지만 문제가 해결되지 않아 결국 서버를 옮기기로 했습니다.


구글링을 통해 알아보던 중 파이썬애니웨어(pythonanywhere)라는 좋은 서비스가 있더군요. 인터넷 상에서 무료로 서버를 제공하는 업체들이 많은데 파이썬애니웨어(pythonanywhere)는 비교적 심플하게 사용할 수 있었습니다.


1. .gitignore 파일 생성 (manage.py 파일과 같은 위치)

.gitignore 파일 안에 아래와 같은 내용을 저장해 주세요.


*.pyc
*~
__pycache__
myvenv
db.sqlite3
/static
.DS_Store

이 파일은 git에서 프로젝트 안의 특정 파일들을 추적하지 못하도록 무시(ignore)하게 하기 위한 파일입니다.


2. Github(깃허브) 저장소 만들기

우선 파이썬애니웨어(pythonanywhere) 서버에 프로젝트를 배포하기 위해서는 Github(깃허브)에 소스가 올라가 있어야 합니다. 방법 간단히 설명하고 넘어가겠습니다.


- Github(깃허브)에 저장소 만들기


Github(깃허브) 접속 -> 계정 생성 후 로그인 -> Repository 생성 >


< Repository 이름을 입력 후 -> Create Repository 클릭 >


Repository를 성공적으로 생성하게 되면 아래와 같은 repository url을 얻을 수 있습니다. 잘 기억해 두세요!

https://github.com/JunhyeokJeon/yesinterior 



- 프로젝트 폴더에 git init 진행하기 (명령어 -> git init)

* git이 설치되어 있지 않다면 설치해 주세요 -> https://git-scm.com/


< 프로젝트 폴더에서 마우스 우클릭 -> git bash here 클릭 >


< git init 진행 >


3. 깃허브(github)에 소스 배포하기

git init 을 진행했던 bash 창에 아래의 내용을 차례로 입력하면 됩니다.


->  git add . (점 꼭 찍어주세요. -> "yesinterior 폴더 내부의 모든 파일 및 폴더들을 버전관리 목록에 추가하겠다"와 같은 뜻입니다)

->  git commit -m "My First project Yesinterior Vesrion1.0" (쌍따옴표 안의 내용은 버전의 내용 & 이름을 구체적으로 명시해 주는 것입니다. -> Commit을 통해 프로젝트의 첫 번째 버전을 탄생시킵니다) 

->  git remote add origin https://github.com/JunhyeokJeon/yesinterior (마지막 url은 github에서 생성한 repository url 입니다 -> github의 repository와 연동 시킵니다.)

->  git push origin master (연동 시킨 repository에 소스를 업로드 합니다. 중간에 사용자명과 password를 요구 할 수 있는데 github의 계정 정보를 입력해 주시면 됩니다.)


4. Pythonanywhere(파이썬애니웨어) 소스 복제하기

- pythonanywhere 가입 후 콘솔 들어가기

https://www.pythonanywhere.com/pricing/ 에서 새 계정 생성하기


< Create a Beginner account 클릭 - 새 계정 생성하기 >


< $Bash 클릭 - 웹상에서 pythonanywhere가 제공하는 bash 콘솔 창 켜기 >


< bash 콘솔 창 >


- Bash 콘솔창에 코드 입력하기

-> cd yesinterior(프로젝트 폴더 명) -> 프로젝트 폴더 이동

-> virtualenv --python=python3.6 myvenv -> 가상 환경 설치

-> source myvenv/bin/activate -> 가상환경 활성화

-> pip install django -> 장고 설치

-> python manage.py migrate -> 데이터베이스 초기화



- pythonanwhere에서 가상서버 설정하기


< Web 클릭 >


< 가상서버 url 설정 -> /home/(username)/my-first-blog/(프로젝트 폴더 명)/ >


- wsgi 파일 설정하기


< pythonanywhere의 Web창에서 wsgi url 접속 >



< 안에 있는 코드를 모두 삭제 후 아래의 코드를 입력 - 반드시 username과 프로젝트 폴더 명을 잘 입력해 주세요. >


import os
import sys

path = '/home/<UserName>/<프로젝트 폴더 명>'  # PythonAnywhere 계정으로 바꾸세요.
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
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())

- 업로드 완료 

Web 창으로 돌아와 Reload를 한 후 자신의 서버에 접속해 보자!

-> 모닝버드의 사이트: http://junhyeokjeon.pythonanywhere.com




Comments