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
설정 끝
본인 주소로 들어가면 로컬이 아니라 실제로 외부에서도 접근 가능하다.