반응형

참고

https://tutorial.djangogirls.org/ko/deploy/


우리가 만든 웹사이트를 git 에 저장하고 github에 배포하여 pythonAnywhere로 코드를 가져와서 서비스하는 방법을 알아 보겠습니다.



git설치

https://git-scm.com/

downloads->window->변경사항 없이 설치



git 저장소 만들기

명령어창에서 프로젝트 폴더로 이동->아래 명령어 입력

git init

git config --global user.name "Your Name"

git config --global user.email you@example.com


.gitignore 파일만들기


1
2
3
4
5
6
7
*.pyc
*~
__pycache__
myvenv
db.sqlite3
/static
.DS_Store
cs


myvenv는 내 가상환경 폴더의 이름으로 바꾸어준다

메모장으로 만든뒤 확장자(.txt)를 지워주면 된다. 확장자가 보이지 않을시

보기->옵션->폴더옵션->알려진 파일 형식의 파일 확장명 숨기기 체크를 해제한후 지워준다.

가상환경과 database는 올리지않는다.


git에 올리기

git add .

git commit -m "first commit"



gitHub에 코드 배포하기

https://github.com/에 접속

계정을 생성후 new를 클릭

->repository name설정->밑에 체크박스는 모두 해제(깃 push시 충돌이 일어날수 있음)

생성된 https url복사하기


다시 명령프롬프트로 이동

git remote add origin [복사한 url]

git push -u origin master


로그인 창이 나오면 github아이디로 로그인하여 인증을 완료해주면 push 가 완료된다.


PythonAnywhere에 블로그 설정하기

https://www.pythonanywhere.com/ 로 이동

start running python online in less than a minute->create a Beginner account

->id생성(주의 username은 url일부가됨)

->console로 이동 ->bash열기->git clone [giturl]


gitignore에서 제외했던 가상환경과 데이터베이스 생성

cd [clone한 폴더로 이동]

-가상환경 생성

virtualenv --python=python3.6 venv

source venv/bin/activate

pip install django


-데이터베이스 생성

python manage.py migrate

python manage.py createsuperuser


web app으로 블로그 배포하기

web->Add a new web app->Manual configuration선택(Django를 선택하면 프로젝트를 만드는 과정이 시작된다)->python버전선택


이제 code부분과 virtualenv를 설정해야한다.

code는 우리가 github에서 가져온 폴더로 지정

virtualenv는 우리가 만든 가상환경의 주소를 넣어준다.



WSGI 파일 설정하기

장고는 "WSGI 프로토콜(WSGI protocol"을 사용해 작동합니다. 이 프로토콜은 파이썬을 이용한 웹사이트를 서비스하기 위한 표준으로 PythonAnywhere에서도 지원합니다. WSGI 설정을 파일을 수정해 우리가 만든 장고 블로그를 PythonAnywhere에서 인식하게 해봅시다.

code 부분에 WSGI configuration file를 옆 /var/www/<your-username>_pythonanywhere_com_wsgi.py부분)를 클릭 하여 설정

모두 지우고 아래내용 저장
path 부분은 자신의 환경에 맞게 변경해줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
import os
import sys
 
path = '/home/<your-PythonAnywhere-username>/my-first-blog'  # PythonAnywhere 계정으로 바꾸세요.
if path not in sys.path:
    sys.path.append(path)
 
os.environ['DJANGO_SETTINGS_MODULE'= 'mysite.settings'
 
from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())

cs




웹사이트 확인해보기

reload후 사이트 접속해보기




반응형

'웹개발 > Django' 카테고리의 다른 글

Django 템플릿 동적데이터 #6  (0) 2020.12.13
Django ORM 쿼리셋 #5  (0) 2020.12.13
Django urls #4  (0) 2020.12.13
Django 객체생성(블로그) #2  (0) 2020.12.12
Django 시작하기 환경설정 #1  (0) 2020.12.12
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기