31 우분투 서버에서 DJango 구동하기
31.1 장고 기본 패키지 설치하기
장고서버를 실행해보겠습니다.
1) workon 명령어로 가상환경 모드로 진입합니다.
2) pip list를 해보시면 설치된 패키지가 별로 없습니다.
3) /usr/local/share/requirements 디렉토리로 이동하여 base.txt 내용을 읽어 패키지를 설치합니다.
workon pythonblog_env
cd requirements/
pip install -r base.txt
31.2 장고 서버 실행하기 - Error No module named 'XXXXX'
실행 전 가상환경 workon 상태를 확인합니다.
장고서버를 구동하니 에러가 발생합니다.ㅠㅠ
python manage.py runserver
No module named 'pythonblog' 라고 하는거 보니 앱에 대한 경로 설정 등이 잘못된거 같습니다.
31.3 장고 서버 실행하기 - manage.py 수정
manage.py 파일 경로를 수정했습니다.
djangoadmin startproject 로 프로젝트 생성시
pythonblog 생성된 디렉토리를 config로 바꿔서 발생한 문제인거 같습니다.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local')
config.settings.local.py 파일에 debug_toolbar가 설정되어 있어 에러가 나오고 있네요.
31.4 장고 서버 실행하기 - manage_r.py 생성
운영서버에서 사용할 manage_r.py파일을 신규로 만들겠습니다.
cp명령어로 manage.py-> manage_r.py 로 복사합니다.
manage_r.py 파일을 열어 config.setting.real로 수정합니다.
manage_r 로 장고를 구동하니
DEBUG 모드가 Fasle일 경우 ALLOWED_HOSTS 설정 해야 한다고 에러 메시지가 나옵니다.
config/settings/real.py 살펴보아야 겠습니다.
cp ./manage.py ./manage_r.py
vi ./manage_r.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.real')
python manage_r.py runserver
31.5 장고 서버 실행하기 - real.py You must set settings.ALLOWED_HOSTS if DEBUG is False.
31.6 장고 서버 실행하기 - mysql client error
ALLOWED HOSTS 호스트 추가하고
장고서버 실행하니
이번에는 MYSQL CLIENT가 설치되지 않아 생기는 문제 입니다.
python manage_r.py runserver
mysql client가 설치가 안되어 있습니다.ㅠㅠ
아래 명령어로 설치합니다.
pip mysqlclient
31.7 장고 서버 실행하기 - mysql 설치 및 정상동작 확인
mysqlclient 문제 없이 설치될 수도 있고, 저처럼 에러가 발생할 수 있습니다.
설치시 에러가 발생하면 아래 코드를 따라하시기 바랍니다.
mysqlclient 에 필요한 패키지를 설치해야합니다.
apt-get update
apt-get install python3-dev default-libmysqlclient-dev build-essential
pip install mysqlclient
로컬환경에서 보던 사이트가 드디어 웹상에서 보일 수 있게 되었습니다.
우와!! ^__^
※ 장고서버구동 명령어에 ip와 port를 추가로 넣었습니다.
아래 코드를 확인하세요.
python manage_r.py runserver 0.0.0.0:80