Pythonanywhere.com에 Django 프로젝트 배포하기 (1)

2020. 02. 15 IT/컴퓨터 > Django

 

국내 웹 개발 환경은 PHP 가 대세이고 호스팅 업체들 역시 대부분 PHP 호스팅만 지원하는 실정이라 장고 프로젝트를 배포하기 쉽지 않다. 서버 호스팅을 하면 되겠지만 맨땅에 리눅스부터 깔고 세팅할 것이 많아 초보자로서는 어려운 점이 많았다.

Pythonanywhere.com 이라는 사이트가 있는데, 번거로운 세팅작업을 최소화하고 쉽게 Django 프로젝트를 배포할 수 있도록 해 주는 사이트이다. 이름에서 알 수 있듯이 파이썬 언어에 최적화된 서비스를 제공한다.

프로젝트 배포는 가끔 하게 되는 일이라 처음 세팅 내용은 할때마다 약간씩 삽질을 하게 되는데, 오늘은 다음 프로젝트를 위해 복기도 할 겸 배포 작업을 순서대로 정리를 좀 해보려고 한다.

 

#1. GitHub을 통해서 배포가 이루어지기 때문에 미리 프로젝트를 Github에 프로젝트를 업로드해서 repository를 만들어 두어야 한다.

 

#2. 링크 - Pythonanywhere

간단한 가입과정을 거치면 요금제를 선택할 수 있다. 이 블로그는 Hacker 계정으로 운영중인데(월 5달러), 무료인 Beginner 요금제도 배포하고 실제 동작을 체크하는 데에는 문제가 없다. 다만 자기의 domain 을 쓸 수 없고 주어지는 도메인을 써야 한다. 가입후 등록한 email 주소로 오는 확인 메일을 confirm 해주면 정상적으로 계정을 사용할 수 있다.

 

#3. 로그인하면 볼 수 있는 Dashboard에서는 console 창을 띄우거나 직접 파일관리를 하는 등의 여러 작업을 할 수 있는데, 우선 배포를 위해 Web app을 만들어야 하므로 "Web" 탭으로 들어가 Add a new web app 을 클릭한다.

 

 

 

#4. 도메인 이름을 지정해줄 수 있는데, 아직은 도메인이 없으므로 자동으로 생성해주는 도메인을 사용한다. 만약 도메인을 연결하려는 경우에는 직접 도메인을 입력해주면 되는데, 이때 앞에 www가 포함된 도메인인지 아닌지를 정확히 입력해줘야 한다. 이것을 정확히 하지 않으면 오류가 나면서 페이지에 접속이 안되는데, 나중에 수정이 안되고 web app 전체를 지우고 다시 만들어야 되기 때문에 처음에 신경쓰는것이 좋다.

 

#5. Django 프로젝트이지만, "Django" 를 클릭하면 처음부터 Diango project를 만드는 과정이 시작된다. 지금처럼 이미 로컬에서 만들어진 프로젝트가 있는 경우는 "Manual configuration" 을 선택해주어야 한다. 수동 구성을 클릭하면 설치할 Python 의 버전을 선택할 수 있는데 프로젝트에 사용한 버전으로 골라주면 된다.

 

 

#6. 무료 계정의 경우 3개월동안 접속이 없으면 계정이 비활성화된다. 계정을 유지하려는 경우 버튼을 클릭해서 3개월동안 사이트를 활성화하는 작업을 해준다. 유료 계정의 경우에는 필요없는 작업이다.

 

#7. 다음 작업을 위해 Console tab으로 가서 Bash console을 연다.

 

 

 

 

#8. 먼저 가상환경을 만들어줘야 한다.

$ mkvirtualenv --python=python3.6 myproject

커맨드로 자신이 사용하는 파이썬 버전과 사용할 가상환경의 이름을 입력해주면 된다. 필요한 파일이 설치된 후 프롬프트 앞에 (myproject) 처럼 가상환경 이름이 보이면 정상적으로 설치된 것이다.

 

#9. Django 및 필요한 패키지들을 가상환경에 설치해준다.

$ pip list 

위의 명령으로 현재 설치된 패키지들을 볼 수 있다. Django 설치를 위해

$ pip install django==2.1.3 

위와 같이 프로젝트에 사용된 버전을 명시해서 설치해준다. 버전을 생략하고 pip install django 만 입력하면 최신버전이 설치된다. 

기존에 설치된 버전을 최신 버전으로 업그레이드하는 경우에는 다음 명령어를 입력하면 된다

$ pip install -U django

 

 

#10. Django가 설치된 위치를

$ which django-admin.py

로 확인할 수 있다.

 

#11. 이제 Github의 repository로 가서 repository의 주소를 복사해 온다. Clone or download 버튼을 누르면 주소가 표시되는데, 주소 옆의 클립보드 버튼을 누르거나 Ctrl+C 로 복사할 수 있다.

 

#12. 다시 console로 돌아와서

$ git clone repository주소

명령어로 원격 repository를 다운로드한다.

 

#13.  ls 커맨드로 디렉토리를 확인하고 해당 디렉토리에 들어가보면 (master) branch 를 확인할 수 있다. 해당 디렉토리에 manage.py 파일이 있어야 정상적으로 작업하고 있는 것이다.

 

#14. 데이터베이스 테이블을 만들고 migration을 적용시키기 위해

$ python manage.py migrate
$ python manage.py makemigrations
$ python manage.py migrate 

순서로 커맨드를 실행해 준다.

 

#15. 사이트 관리자인 superuser 계정을

$ python manage.py createsuperuser

명령을 이용해 만들어준다.

 

이제 다시 pythonanywhere의 Web tab으로 돌아가 세부 설정을 해 주어야 한다. 

다음편에 이어서..

Pythonanywhere.com에 Django 프로젝트 배포하기 (2)



최근 글 목록