장고 - 북마크 프로젝트_배포(heroku)
1. heroku 다운로드 및 설치
- macOS :
brew tap heroku/brew && brew install heroku
- Ubuntu 16+ :
sudo snap install -classic heroku
- Windows : https://devcenter.heroku.com/articles/heroku-cli#download-and-install 에서 다운로드 및 설치
2. 추가 모듈 설치
경로 : bookmark_project >
pip3 install [모듈명]
- dj-database-url : 데이터베이스 관련 옵션을 변수로 쉽게 접근할 수 있게 해주는 유틸리티
- gunicorn : wsgi용 미들웨어 –> 웹서버와 장고 사리의 다리 역할
- whitenoise : static 파일 서빙용 미들웨어
- psycopg2-binary : postgreSQL용 드라이버
3. requirements.txt 파일 생성
1 | & pip freeze > requirements.txt |
4. 모듈 설정
경로 : bookmark_project > config > settings.py
- DEBUG = False
- ALLOWED_HOSTS = [‘*’]
- MIDDLEWARE = [ …, ‘whitenoise.middleware.WhiteNoiseMiddleware’, ]
- import dj_database_url
DATABASES[‘default’].update(dj_database_url.config(conn_max_age=500) - STATIC_URL = ‘/static/‘
- STATIC_ROOT = os.path.join(BASE_DIR, ‘staticsfiles’)
5. Procfile 텍스트 파일 생성 및 코드 작성
경로 : bookmark_project > Procfile
- wsgi로 gunicorn 설정
web: gunicorn config.wsgi
6. runtime.txt 파일 생성 및 코드 작성
경로 : bookmark_project > runtime.txt
- app을 어떤 파이썬 버젼으로 작동시킬지 runtime을 정해준다.
python-3.7.0
7. heroku 로그인
heroku login
(bookmark_project 디렉토리 위치)
8. git 연동
- .gitignore 파일 생성 (bookmark_project 디렉토리 위치)
.gitignore 파일 내 코드 작성
1
2
3
4
5*.pyc
*~
/venv
db.sqlite3
.DS_Storegit init > git add -A . > git commit -m 'deploy using heroku'
(bookmark_project 디렉토리 위치)
9. heroku app 생성
heroku create chk-bookmark
(bookmark_project 디렉토리 위치)
10. heroku에 업로드
git push heroku master
(bookmark_project 디렉토리 위치)
11. DB 초기화
heroku run python3 manage.py migrate
(bookmark_project 디렉토리 위치)
12. 관리자 비번 만들기
heroku run python3 manage.py createsuperuser
(bookmark_project 디렉토리 위치)
13. heroku를 통한 사이트 확인
heroku open
(bookmark_project 디렉토리 위치)
Posted