Python

Linux에 Django 설치하기

DjangoPython을 언어로 사용하는 웹개발 프레임워크입니다. 금번 포스팅에서는 제가 Linux에서 Django를 설치하고, 첫 프로젝트를 생성했던 과정을 소개하고자 합니다.

금번 설치과정을 거친 서버는 운영체제로 CentOS 6.5를 사용하고 있으며, LAMP 환경의 웹서버가 이미 작동하고 있는 서버였음을 먼저 밝힙니다. 아울러 이 글에서 소개하는 Linux 명령어는 모두 root 계정에서 실행되었음을 첨언하여 두고자 합니다.

 

Step #1. Python 및 setuptools 모듈 설치

yum install python
yum install python-setuptools
yum install sqlite
yum install sqlite-devel

Django를 설치하기 위해서는 당연히도 Python이 설치되어 있어야 합니다. 이와 더불어 setuptools라는 Python의 모듈이 필요한데, 이 모듈은 Python으로 이루어진 각종 패키지를 쉽게 설치하고 제거할 수 있도록 돕는 역할을 합니다. 마지막으로 설치하는 sqlite는 Django가 DB 접속을 할 때에 사용하는 모듈입니다. 저는 yum을 이용해서 편리하게 설치하였지만, 서버 환경에 따라서는 직접 설치를 해야할 수도 있을 것입니다.

 

Step #2. Django 다운로드

Django는 공식 홈페이지의 Download 메뉴에서 버전별로 다운로드 받을 수 있습니다. 다만 무턱대고 최신버전을 받았다가는 곤경에 처하게 되는데, 서버에 설치되어 있는 Python의 버전에 따라 사용할 수 있는 Django 버전이 달라지기 때문입니다.따라서 Python의 버전을 확인하는 것이 우선입니다.

python -V

버전확인은 간단합니다. 콘솔화면에서 Python에 -V 파라메터를 붙여 실행해보면 됩니다. 제 경우에는 2.6.6 버전이 설치되어 있었습니다. 일반적으로 Cent OS에서는 패키지를 관리하는 yum이라는 유틸리티를 쓰는데, 이 유틸리티가 Python에서 작동을 하기 때문에 기본으로 설치가 되어 있습니다.

Python 버전에 따라 설치할 수 있는 Django는 공식문서의 FAQ에서 망라하고 있습니다. 위 FAQ 링크로 들어가 “What Python version can I use with Django?” 항목을 참조하시면 될 것입니다. 제 경우에는 1.4.21 버전을 선택하여 다운로드를 받았습니다.

wget https://www.djangoproject.com/m/releases/1.4/Django-1.4.21.tar.gz

 

Step #3. 압축해제 및 설치파일 실행

다운로드 받은 압축파일은 tar 명령어로 압축을 해제할 수 있습니다. 그 후에 디렉토리로 들어가보면 setup.py 파일이 있습니다. 이 파일을 Python으로 실행시키면 설치가 완료됩니다.

tar -xvf Django-1.4.21.tar.gz
cd Django-1.4.21
python setup.py install

(놀랍게도) 이것으로 Django의 설치는 모두 끝났습니다. 하지만 Apache와는 다르게 Django는 이것만으로는 웹 서비스의 기능을 할 수 없습니다. Django로 서비스를 시작하기 위해서는 프로젝트를 생성해야 합니다.

 

Step #4. 프로젝트 생성

cd /home
django-admin.py startproject demo

프로젝트를 어느 디렉토리에 만들지는 개발자의 선택이지만, 저는 다른 PHP 기반의 프로젝트가 다수 있는 home 디렉토리를 선택했습니다. Django 프로젝트는 위처럼 django-admin.py를 이용해서 만들 수 있습니다. 위 명령어를 실행하면 demo라는 이름의 프로젝트가 생성되고, 프로젝트와 같은 이름의 디렉토리가 home 디렉토리 밑에 만들어진 것을 볼 수 있습니다.

 

Step #5. 서버실행

여기까지만 하면 우리는 Django를 기반으로 한 웹 서버를 실행할 수 있습니다. 프로젝트를 생성한 디렉토리에 들어가서, 그 안에 있는 manage.py 파일을 아래처럼 실행해주기만 하면 됩니다.

cd /home/demo
python manage.py runserver 0.0.0.0:8000 &

이제 웹 브라우저를 열어 이 서버의 8000번 포트에 접속을 해봅니다. 아래와 같은 스크린샷이 표시되면 성공입니다.

Django 프로젝트 최초접속 화면

 

Step #6. 서버종료

서버를 실행했다면 서버를 또한 종료할 수도 있어야 합니다. 그러나 구글링을 해보아도 Django는 별도로 서버를 종료하는 명령어는 찾을 수 없었습니다. 대신 많은 개발자들이 프로세스 종료를 권하고 있음을 볼 수 있었습니다.

ps aux | grep runserver
kill ***** *****

ps 명령어로 프로세스들을 살펴보면, manage.py 파일을 실행한 프로세스가 있는 것을 확인할 수 있습니다. 이 프로세스의 번호들을 가져와서 kill 명령어로 종료시키면, Django 서버를 종료할 수 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *