본문 바로가기

IT/Django

Django 설치 절차

Django 는 Python 기반의 웹 프레임 워크 입니다. MVC 모델일 지원하며, 매우 많은 일을 해주는 고마운 놈입니다만, 많은것을 지원 하는 만큼 Django의 틀을 벗어나기 어렵습니다.또한 실제 내가 원하는 기능을 구현하기 전에 사전 설정해줘야 하는 것들이 많습니다.

(그렇다고 해서 스프링보다 많진 않은듯 하네요.)


Django의 경우, 자체적으로 WAS의 기능도 있어서 Apache 없이 Stand Alone 으로 동작이 가능 합니다.

여기서는 Stand Alone 으로 기동하는 프로젝트 및 어플리케이션을 만들기 까지 해보도록 하겠습니다.


이 문서에서는 각 서버의 방화벽은 모두 완료 된 것으로 보고 진행합니다.

만약 로컬에서 서버로 접속이 안된다고 하면 서버의 방화벽이나, 네트워크 망을 확인 해보시기 바랍니다.


1. Python 설치

Django 는 Python 을 베이스로 만들어진 프레임워크 로서 사용 및 개발을 위해서는 Python이 반드시 필요 하여 설치를 진행 하여야 합니다.

yum install python


2. PIP 설치

pip는 파이썬으로 작성된 패키지 소프트웨어를 설치 · 관리하는 패키지 관리 시스템 입니다. 하여 Django 는 Python 기반의 소프트 웨어 이므로 PIP를 이용하여 패키지 설치가 가능 합니다.

pip install django~=2.0.0


3. Django 설치

PIP가 설치 되었으므로, 이제 우리의 목적 패키지인 django 를 설치 할수 있게 되었습니다.

pip install django~=2.0.0


4. django 프로젝트 생성

이제 django 프로젝트를 생성할 차례입니다.

cd ${BASE_DIR}[각주:1]

django-admin startproject ${project_name} .

django의 프로젝트란 개념에 대한 설명이 좀 필요 할 듯 합니다. 이 개념이 안 잡혀 있으면 나중에 어플리케이션이 나오면 햇갈리기 시작 합니다. 

프로젝트는 django로 만들어진 하나의 WAS 패키지라고 보시는게 좋을듯 합니다. 즉, django 로 프로젝트를 생성 하였다면, 하나의 WAS를 설치 하였다고 보시면 됩니다.


5. 프로젝트 설정

프로젝트 즉, WAS에 대한 환경 설정을 해야 합니다.

vi ${BASE_DIR}/${project_name}/settings.py

TIME_ZONE = 'Asia/Seoul' ### 시간대를 아시아 서울로 지정

ALLOWED_HOSTS['${server_ip}','${server_domain_name}'[각주:2]]   ## 서버 IP 입력 공백일 경우, 127.0.0.1,  localhost로 인식

※ALLOWED_HOST에는 서버의 IP 혹은 도메인 네임을 추가해줘야 하는데 이를 안했을 경우, 서버에 접속이 안됩니다. 혹 IP만 추가 하였을 경우, 도메인으로 접속시 접속이 차단 됩니다. 이점을 꼭 기억 하셔야 합니다.


6. 어플리케이션 만들기

어플리케이션을 생성하여 우리가 원하는 사이트를 구축 합니다.

cd ${BASE_DIR}

python3 manage.py startapp ${application_name}


vi ${BASE_DIR}/${project_name}/settings.py

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    '${application_name}', ## django 에서 생성한 application_name 을 추가

]

반드시 settings.py 에 생성한 application을 추가해야 프로젝트에서 추가된 application 을 인지 하여 접속을 할 수 있게 됩니다.


7. django 서버 기동

이제 서버를 기동 할 때 입니다.

python3 manage.py runserver ${server_ip}:${server_port}[각주:3]

※server_ip 의 경우 AWS에서는 public-dns를 입력 해야 처리 됩니다.

server_port는 임의 지정 가능 하므로 현재 서버내에 여유가 있는 port를 지정 하시면 됩니다. 해당 기능은 백그라운드로 실행되지 않습니다. 하여 터이멀이 닫히면 서버가 종료 됩니다. 


python3 manage.py runserver 0:${server_port}

AWS EC2에서 위 구문으로 구동 되는 것을 확인 하였습니다.

8. 결과 확인

서바가 기동 되었으니, 내 컴퓨터에서 서버로 접속이 되는지 확인해 봅니다. 인터넷 브라우저를 키고 다음의 주소를 입력해봅시다.

http://${server_ip}:${server_port}


위의 주소를 입력 하였을때 아래의 처럼 나오면 성공 한 것입니다.


이제 application을 만들거 설정을 할 차례입니다. 해당 건은 다른 포스팅에서 이어 지겠습니다.




  1. WAS가 설치되며 WEBRoot 디렉토리를 의미 합니다. [본문으로]
  2. 서버의 공용 IP 혹은 도메인 네임 [본문으로]
  3. WAS 가 기동하여 사용할 TCP port 번호 [본문으로]

'IT > Django' 카테고리의 다른 글

크롤러를 Django에 추가하기  (0) 2019.04.10
Django 에서 어플리케이션 설정  (0) 2019.03.07