1 minute read

배포

  • IaaS(Infrastructure as a Service)
    서버 장비와 운영체제 만 제공하고 개발자가 필요한 프로그램을 직접 설치 및 설정한다.
  • PaaS(Platform as a Service)
    서버 장비와 운체제제, 실행환경을 제공한다.
    전체적인 환경이 갖춰져 있다.

배포 준비

  • 디버그 모드 끄기
    많은 정보들이 노출되기 때문에 반드시 꺼야 한다.
    settings.py에서 DEBUG=False로 바꿔준다.

  • 호스트 설정
    허용할 호스트를 설정한다.
    settings.py에서 ALLOWED_HOSTS를 작성한다.
    비어 있을 때는 로컬호스트만 허용된다.
    pythonanywhere를 사용할 것이니
    ALLOWED_HOSTS = [‘.pythonanywhere.com’]
    이렇게 작성한다.

  • 정적 파일 한곳으로 모으기
    배포 서버에선 모든 정적파일을 하나의 위치에서 찾기 때문에 모아야 한다.
    settings.py에
    STATIC_ROOT = os.path.join(BASE_DIR, ‘static’)
    를 작성한다.
    그리고 python manage.py collectstatic 으로 모아준다.
    STATIC_URL은 웹에서 정적파일에 대한 URL을 할당할 떄 사용할 최상위 URL이며 실제로 존재하는 디렉토리가 아닌 URL을 만들기 위한 부분이다.
    STATIC_ROOT는 실제로 정적파일이 모아지는 경로다.

  • 프로젝트 디렉토리 압축
    zip파일로 압축

배포 하기

  • pythonanywhere 페이지 접속
  • 우측 상단에 Files에서 Upload a file로 압축해둔 파일 업로드
  • Open Bash conssole here로 콘솔 실행
  • unzip [파일이름] 으로 압축 해제
  • virtualenv –python=python[버전] [가상환경 이름] 으로 가상환경 생성
  • 생성된 가상환경 폴더로 이동해서 source bin/activate 로 가상환경 실행
  • pip install django==[버전] 으로 장고 설치
  • 오른쪽 상단에 메뉴에서 Web으로 이동
  • 왼쪽에 Add a new web app 에서 Manual - 파이썬 버전 선택
  • Code에서 Source code에 코드가 있는 경로를 입력한다.
    /home/아이디/프로젝트명
  • Code에서 WSGI configuration file에서 WSGI설정을 한다.
    19~47번째 줄 주석처리
    76~89번째 줄 주석 해제
    81번째 줄 mysite를 프로젝트 이름으로 수정
    85번째 줄에도 mysite를 프로젝트 이름으로 수정
  • Save눌러 저장
  • Web으로 이동
  • Virtualenv에서 가상환경 설정
    만들어둔 디렉토리를 넣으면 된다.
    /home/아이디/가상환경 이름
  • Static files에서 정적파일 경로 설정
    URL에는 /static/
    Directory에는 실제경로를 적는다. /home/아이디/프로젝트 디렉토리/static
  • 상단에 Reload

Tags:

Categories:

Updated:

Leave a comment