안녕하세요!
이번 시간에는 무료 호스팅인 파이썬 애니웨어(pythonanywhere)로 배포하는 실습을 진행하겠습니다.
개발 환경
Language: python 3.9.4
IDE: PaCharm community
HOST: pythonanywhere
파이썬 애니웨어로 배포하기에 앞서 이전 포스팅 SECRET_KEY 분리를 먼저 하시고 배포하시길 권장드립니다.
https://eveningdev.tistory.com/51
파이썬 애니웨어 설정 전에 먼저 배포할 코드를 git에 올려야 합니다.
$ git init # git 초기화
$ git config --global user.name "name"
$ git config --global user.email "email"
$ git status # tracking / untracking / modified / stage / branch status 등 여러 정보를 보여줌
$ git add . # 앞에서 .gitignore를 설정했기 때문에 *로 올리면 안 됩니다.
$ git commit -m "message"
다음으로 git repository 저장소를 만들어 주셔야 합니다.
이렇게 저장소 이름을 설정하고 저장소를 생성해줍니다.
체크된 곳을 눌러 저장소를 복사해준 후에 터미널에 마저 입력합니다.
$ git remote add origin https://github.com/wjsgur8530/pythonanywhere.git
# 이 과정에서 git 로그인하라고 뜰 수 있습니다.
# git settings -> Developer settings -> Personal access tokens
# 통해 액세스 토큰을 발급받은 후 로그인하시면 됩니다.
$ git push -u origin master # 원격 저장소에 push 합니다.
다음으로 장고(Django) 안에서 settings.py을 수정해주셔야 합니다.
가장 첫 번째로 SECRET_KEY를 분리
두 번째로 기본 값이 DEBUG = TRUE -> False로 고치기
세 번째로 ALLOWED_HOSTS = ['*'] or ['.pythonanywhere.com'] 설정
네 번째로 정적 파일 모아주기 STATIC
$ python manage.py collectstatic
Pythonanywhere에 배포하기
파이썬 애니웨어에 배포하기 위해 먼저 파이썬 애니웨어에 가입합니다.
2개의 콘솔까지, 512MB까지 무료 호스팅이 가능합니다.
콘솔을 한 개 생성해줍니다.
콘솔을 클릭하여 들어오면 이런 bash 화면을 만나게 됩니다.
여기서 이제 git 소스를 가져와 배포할 수 있습니다.
$ git clone https://github.com/wjsgur8530/pythonanywhere.git #git code
정상적으로 clone 된 것을 확인할 수 있습니다.
다음으로 가상 환경을 설치해주신 후에 동작시켜주세요.
$ virtualenv --python=python3.9 venv
$ source venv/bin/activate
다음으로 라이브러리를 설치합니다.
# pip freeze > requirements.txt를 해두셨다면
$ pip install -r requirements.txt
# 해두지 않으셨다면
$ pip install django
마이그레이션 및 슈퍼유저 생성
$ python manage.py makemigrations # 마이그레이션 파일이 없는 경우만
$ python manage.py migrate
$ python manage.py createsuperuser
$ 아이디 입력
$ 이메일 입력
$ 비밀번호 입력
콘솔 창에서 pwd 명령어로 나온 경로를 기억해둡니다.
배포 단계
bash 창 오른쪽 상단 Web / 파이썬 애니웨어 메인 페이지에서 Web을 누릅니다.
다음 화면에서
Add a new web app 클릭
-
수동 설정(manual configuration) 클릭
-
본인 파이썬 버전 클릭(저는 3.9)
그러면 다음과 같은 화면이 나옵니다.
Working directory에 PWD 경로를 넣어줍니다.
다음으로 WSGI Configuration file의 wsgi.py를 클릭합니다.
import os
import sys
path = '/home/HyukJeon/프로젝트명'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = '세팅이 있는 폴더명.settings'
from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
수정한 후 우측 상단에 Save를 누른 후 뒤로 갑니다.
다음으로 아래에 가상 환경 경로를 적어주시고 정적 파일(static, media)의 경로를 적어줍니다.
이런 과정을 거치면 배포가 끝났습니다!
이제 배포가 됐는지 확인해봐야겠죠?
Reload 후 주소를 클릭합니다.
정상적으로 배포가 된 것을 확인할 수 있습니다.
배포를 끝냈는데 오류가 났어요 해결 어떻게 하죠?
에러 확인
다행히 파이썬 애니웨어에서 에러 확인이 가능합니다.
web에 있는 중간 화면에서 Error log가 있습니다. 저기를 클릭해주세요.
이곳에 에러 내용이 출력됩니다.
출력된 에러를 보고 console에서 에러가 난 곳을 수정해주시면 정상적으로 배포하실 수 있습니다.
이번 시간에는 무료 호스팅인 파이썬 애니웨어(pythonanywhere)를 통한 배포를 실습했습니다.
고생하셨습니다!
'Framework > Django' 카테고리의 다른 글
[Django] 무료 호스팅 헤로쿠(heroku)로 배포 실습하기 (0) | 2021.08.15 |
---|---|
[Django] 시크릿 키(SECRET_KEY) 분리 실습하기 (0) | 2021.08.15 |
[Django] Django 파일 업로드에 대해 알아보고 File Upload 기능 실습하기 (4) | 2021.07.01 |
[Django] 리눅스(우분투)에 장고와 아파치 설치 및 연동하기-(3)(MariaDB 연동) (1) | 2021.06.30 |
[Django] 리눅스(우분투)에 장고와 아파치 설치 및 연동하기-(2)(정적 파일, 에러 확인) (0) | 2021.06.30 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!