http://jamukha.pythonanywhere.com/
Django Girls blog
2022년 7월 25일 10:24 오후 검색어 입력 Need help? Talk to us! 들어가며 설치하기 설치하기 (chromebook) 인터넷은 어떻게 작동할까요 Command Line 시작하기 Python 설치하기 코드 에디터 Python 시작하기 Django란...
jamukha.pythonanywhere.com
소회
배포가 이렇게 어려울 줄 몰랐다. php 방식들처럼 ftp 로 올리고 땡일 줄 알았는데,
대부분의 입문 책들이 aws 나 기타 서비스를 기준으로 해설하는 이유가 있었다.
그냥 그렇게 따라하면 됐는데, 리눅스 홈서버와 나스를 운용하고 있어서 어떻게든 독자 배포를 목적으로 했는데, 상당히 많이 고전했다. ㅠㅠ
텍스트로 계속 이해를 못했던 부분은 구니콘 , uWsgi 같은 미들웨어였다. 그냥 대충되지 이런게 왜 있어가지고. -_-;; 아후.
게다가, apache 와 nginx 에서의 설정이 또 약간 달라서, 경우의 수가 네가지가 됐다.
거기에 하나 더, 처음 장고를 학습했던 책은 도커를 통한 배포가 메인이였다. 계속해서 실패하고, 스트레스만 받았었다.
사실 이게 참 멍청한 행동인게, 하나씩 차분하게 하면 될껄. 그냥 같은 방법으로 어디 얻어걸려라 식으로 접근했기 때문이다. ㅠ
그러던 차에 빠르게 복붙식으로 하던, 장고걸 튜토리얼에서 파이썬 애니웨어로 첫 배포를 성공했다.
그 후, 마음의 평정을 찾아서, 여러 조건에서 모두 성공할 수 있게 됐다. 비록 구닥다리 예제지만, 장고걸 튜토리얼 자체 방식에 굉장히 감명 받았다. 리스펙!
summary
- 파이썬 애니웨어에서 manual 로 python 버전 선택
- 깃허브 토큰으로 로그인 후, git clone
- 터미널에서 가상환경 세팅 후 파이썬애니웨어에서 venv 경로 선택
(( 장고 버전 지정 설치. migrate, createsuperuser, runserver 까지 )) - settings.py 에 ALLOWED_HOSTS = ['localhost', '127.0.0.1', '.pythonanywhere.com'] 지정
- 파이썬 애니웨어에서 WSGI 설정
** 파이썬애니웨어 계정/프로젝트 명시.
** settings.py 가 있는 디렉토리 명시. ( ex. config , mysite 등 )
장고를 웹서버에 올리는 것. 소위 '배포'를 해보는데,
아 생각보다 어려웠다.
몇 년 전에 생활코딩 python 강의에서 apache 에 .py 를 인식시키셔 하는 cgi 방식으로는 해봤는데 말이다.
https://volvootofinans.com/ko/run-python-as-a-cgi-script.html
이런 전통적인 방식도 쓸모가 있긴 하겠지? -_-;;; 글쎄 잘 모르겠다...
사전 설정 settings.py Allowed_HOSTS = [] 를 변경!
debug 를 false 로 하고, allowed_hosts 에 고정 ip 하는 거였는데, ... 흠 여기에선 바로, 포트 8000 생략하고, 도메인으로
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']
DEBUG = True
# ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']
파이썬 애니웨어 터미널 창에서, git clone 수행하려 하면, id 와 password 를 입력해야 한다.
그런데, 비밀번호 기본설정이 token 으로 바껴서, github 에서 token 을 발급받은 후,
터미널창에서 password를 물을 때, 붙여넣어야 한다.
( 여기서 잠깐 포기할 뻔..... ㅠㅠ 복사 후, Shift + Insert 키로 붙여넣기 )
1. git 허브 add push 후,
파이썬 터미널에서 https://tutorial.djangogirls.org/ko/deploy/
git clone https://github.com/아이디/my-first-blog.git
.gitignore
*.pyc
*~
__pycache__
myvenv
db.sqlite3
/static
.DS_Store
2. PythonAnywhere에서 가상환경(virtualenv) 생성
virtualenv --python=python3.6 myvenv
source myvenv/bin/activate
pip install django~=2.0
python manage.py migrate
python manage.py createsuperuser
3. Pythonanywhere 에서 Virtualenv 경로 선택
4. Pythonanywhere 에서 WSGI 파일 설정
import os
import sys
path = '/home/파이썬애니웨어 계정/my-first-blog' # PythonAnywhere 계정으로 바꾸세요.
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = '컨피그(settings.py있는 디렉토리).settings'
from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
'장고 > 배포(서버 nginx 도커)' 카테고리의 다른 글
2021.5 장고 학습 실패 기록 (0) | 2022.09.10 |
---|---|
Doit장고 학습 기록(2022.8) (0) | 2022.09.10 |
점프투장고(2022.8.14-8.21) (0) | 2022.09.10 |
댓글