본문 바로가기

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.

접속가능한 호스트 에는 Django가 설치된 서버의 공인아이피 넣어주면 됩니다. 차후에 도메인을 구입하게 되면 도메인으로만 접속이 가능하도록 변경할 것입니다.

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
현재글 : 31 우분투 서버에서 DJango 구동하기
Comments
Login:

Copyright © PythonBlog 2021 - 2022 All rights reserved
Mail : PYTHONBLOG