Django 프로젝트 pythonanywhere에 배포하기

hyereen·2021년 8월 3일
0

env: python 3.7

이 글은 패스트캠퍼스 파이썬 웹 개발 올인원 패키지를 듣고 작성된 글임을 밝힙니다.

0. 배포 전, 프로젝트 안에 세팅하기

장고 프로젝트 내 settings.py에서 INSTALLED_APPS 위에 아래의 2가지를 적어준다.


# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False # 배포 세팅1. 디버그모드를 꺼야 배포 가능!

# 배포 세팅2. 내 아이디
ALLOWED_HOSTS = [
    '(pythonanywhere ID).pythonanywhere.com'
] # 이 주소가 아니라 다른 주소로 접근하면 막을 수 있도록 

1. pythonanywhere에 파일 업로드

pythonanywhere에 로그인 > Files > upload a file > 프로젝트 압축파일 업로드

주소: https://www.pythonanywhere.com/

압축해서 올리는게 편리하므로 장고 프로젝트의 폴더를 압축해서 준비하여 업로드한다.

내 프로젝트는 fc_community 폴더에서 진행했으므로 폴더 전체를 압축하여 저장해준다.

프로젝트 압축 파일을 업로드한다.

2. pythonanywhere에 배포하기

압축을 풀기 > 셋팅

1) 압축풀기

오른쪽 위에 Open Bash console here을 누른다.

unzip fc_community.zip

2) 가상환경 생성

virtualenv --python=python3.7 fc_env

여기서 시간이조금 걸린다

가상환경 폴더가 생성된 것을 알 수 있다.

3) 가상환경 활성화

source fc_env/bin/activate

가상환경 활성화 명령어가 윈도우와 다름을 주의

4) 장고 패키지 설치

pip install django

5) 프로젝트 실행

프로젝트 폴더 내부로 들어가서 실행

cd fc_community
ls
python manage.py collectstatic

collectstatic: static 파일들을 수집하는 명령어
이 폴더로 수집할거냐고 물어보는 것으로, yes하면 된다.

설정 끝!


콘솔 종료

3. pythonanywhere에서 웹앱 생성 후 설정하기

web app 추가 >

console closed 상태에서 뒤로가기를 누르면

다시 위와 같은 화면으로 돌아오게 된다.

1) Web 메뉴로 이동

2) 왼쪽에 Add a new web app 클릭

Next 클릭

3) Manual configuration 선택

4) Python 버전 선택

각자 파이썬 버전을 선택해주면 되지만 이 프로젝트는 3.7이므로 3.7을 선택했다
넥스트를 누르면 아래와 같은 화면이 뜬다.

5) 소스코드 경로 작성

위 페이지에서 쭉 내려서 Code: 란에
Source code: 를 작성해준다.

/home/(계정아이디)/(업로드한 프로젝트 이름)

6) WSGI 설정

위 화면에서 WSGI Configuration file의 .py파일을 클릭한다.

블럭된 부분을 ctrl+/해서 주석처리한다.

중간에 장고부분은 주석처리를 해제한 뒤 수정할 것이 있다.

  • 81번째 줄
    path = '/home/(내 아이디)/mysite'
    -> path = '/home/(내 아이디)/(프로젝트이름)'

  • 85번째 줄
    os.environ[DJANGO_SETTING_MODULE] = 'mysite.settings'
    -> os.environ[DJANGO_SETTING_MODULE] = '(프로젝트이름).settings'

위처럼 수정해준다.

여기까지 마치면 오른쪽 위에 저장 버튼을 누르고 뒤로간다.

7) 가상환경 설정

/home/(아이디)/(가상환경 폴더 이름)

8) static file 설정

/home/(아이디)/(프로젝트 폴더)/static

설정 끝

본인 주소로 들어가면 로컬이 아니라 실제로 외부에서도 접근 가능하다.

profile
안녕하세요. 피드백은 언제나 감사합니다.

0개의 댓글