웹사이트 검색

CentOS/Debian의 가상 환경에서 Django 웹 프레임워크 설치 및 구성 - 1부


“이 문서는 Django 최신 버전으로 개정 및 업데이트되었습니다 - 2016년 5월”

약 20년 전 월드와이드웹이 아직 초기 단계였을 때 개인 또는 비즈니스 웹 사이트를 갖는 것은 거의 사치가 아니었습니다. 이후 여러 웹 기술이 개발되고 서버측 프로그램과 데이터베이스의 결합을 통해 제공되는 동적 콘텐츠가 도입되면서 기업은 더 이상 정적 웹 사이트에 만족할 수 없게 되었습니다.

따라서 웹 애플리케이션이 현실이 되었습니다. 즉, 웹 서버 위에서 실행되고 웹 브라우저를 통해 액세스할 수 있는 완전한 의미의 프로그램이 되었습니다.

보다 쉽고 효과적인 개발을 위해 웹 프레임워크는 프로그래머가 애플리케이션을 작성하는 데 도움을 주도록 설계되었습니다. 간단히 말해서, 웹 프레임워크는 사용자 세션 관리 처리, 데이터베이스와의 상호 작용, 비즈니스 로직을 디스플레이 로직과 별도로 유지하는 모범 사례 등 개발 프로세스의 공통 핵심 기능을 처리합니다.

이번 3개 기사로 구성된 Django 시리즈에서는 Python 기반의 인기 웹 프레임워크인 Django를 소개합니다. 따라서 이 프로그래밍 언어에 대해 최소한 어느 정도 익숙해지는 것이 좋지만, 경험이 거의 또는 전혀 없다면 기본 사항도 안내해 드리겠습니다.

CentOS 및 Debian 서버에 Django 설치

Debian(v1.7.7: 추가 지원은 2015년 12월에 중단됨) 및 Fedora EPEL(v1.7.7)에서 Django를 설치할 수 있습니다. >v1.6.11: 2015년 4월) 리포지토리에서 확장 지원이 중단되었습니다. 사용 가능한 버전은 최신 안정 LTS(장기 지원) 릴리스(v1.8.13)가 아닙니다. Strong>, 2016년 5월 기준).

이 튜토리얼에서는 연장 지원이 최소 2018년 4월까지 보장되므로 Django v1.8.13을 설치하는 방법을 보여드리겠습니다.

Django를 설치하는 데 권장되는 방법은 Python 패키지 관리에 널리 사용되는 도구인 pip를 사용하는 것입니다. 또한, 격리된 Python 환경을 만들고 서로 다른 버전의 소프트웨어 종속성이 필요할 수 있는 프로젝트 간의 충돌을 피하기 위해 가상 환경의 사용을 적극 권장합니다.

가상 Python 환경을 만들고 관리하는 데 사용되는 도구를 virtualenv라고 합니다.

설치를 수행하려면 다음 단계를 따르십시오.

1. Fedora 기반 배포판(Fedora 자체 제외)의 경우 먼저 EPEL 저장소를 활성화합니다.

yum update && yum install epel-release

2. pipvirtualenv를 설치합니다.

Fedora 기반 배포판:

yum install python-pip python-virtualenv
OR 
dnf install python-pip python-virtualenv
데비안 및 파생 상품:
aptitude update && aptitude install python-pip virtualenv

3. 초기 프로젝트를 저장할 디렉토리를 만듭니다.

mkdir ~/myfirstdjangoenv
cd ~/myfirstdjangoenv

4. 가상 환경 생성 및 활성화:

virtualenv myfirstdjangoenv

위 명령은 ~/myfirstdjangoenv에 여러 파일과 하위 디렉터리를 생성하고 기본적으로 현재 작업 디렉터리 내에 Pythonpip의 로컬 복사본을 설치합니다. . 다음으로 방금 생성한 가상 환경을 활성화해야 합니다.

source myfirstdjangoenv/bin/activate

5. 마지막 명령 이후 명령 프롬프트가 어떻게 변경되는지 확인하세요. 이제 Django를 설치할 차례입니다:

참고 아래 스크린샷은 이 튜토리얼의 이전 버전에서 촬영되었지만 Django 1.8.13을 설치할 때 예상되는 출력은 동일합니다. ):


pip install Django==1.8.13

현재 작업 디렉터리에서 Python 셸을 실행하여 Django 버전을 확인할 수 있습니다.

python
>>> import django
>>> print(django.get_version())

(다시 말하지만, 현재 Django 버전을 확인할 때 위 명령은 1.8.13을 반환해야 합니다).

Python 프롬프트를 종료하려면 다음을 입력하십시오.

>>> exit() 

Enter를 누르세요. 그런 다음 가상 환경을 끄십시오.

deactivate

가상 환경이 비활성화된 상태에서는 Django를 사용할 수 없습니다.

Django에서 첫 번째 프로젝트를 만드는 방법

이전에 만든 가상 환경 내에서 프로젝트를 만들려면 활성화해야 합니다.

source myfirstdjangoenv/bin/activate

다음으로, 프레임워크는 프로젝트를 저장할 전체 디렉터리 구조를 생성합니다. 이렇게하려면 실행해야합니다.

django-admin startproject myfirstdjangoproject

위 명령은 현재 작업 디렉터리 내에 myfirstdjangoproject라는 디렉터리를 생성합니다.

여기서 manage.py(나중에 프로젝트를 관리하는 데 도움이 되는 유틸리티)라는 파일과 다른 하위 디렉터리(~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject)를 찾을 수 있습니다. 이 마지막 하위 디렉터리는 프로젝트 파일의 컨테이너 역할을 합니다.

실제 웹 애플리케이션 작성을 시작하기 위해 일부 Python을 검토한 후에는 나머지 파일이 실제로 의미가 있지만 프로젝트 컨테이너 디렉터리 내에 있는 주요 파일을 기록해 두는 것이 좋습니다.

  1. myfirstdjangoproject/__init__.py: 이 빈 파일은 Python에게 이 디렉터리가 Python 패키지로 간주되어야 함을 알려줍니다.
  2. myfirstdjangoproject/settings.py: 이 Django 프로젝트에 대한 특정 설정입니다.
  3. myfirstdjangoproject/urls.py: Django 기반 사이트의 목차(목차)입니다.
  4. myfirstdjangoproject/wsgi.py: 프로젝트를 제공하기 위한 WSGI 호환 웹 서버의 진입점입니다.
ls 
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject

또한 Django에는 개발 중에 애플리케이션을 테스트하는 데 사용할 수 있는 경량 내장 웹 서버(Python SimpleHTTP와 유사한 Python으로 작성, 또 무엇이 있을까요?)가 있습니다. 이 특정 단계에서 웹 서버를 설정하는 작업을 처리할 필요 없이 프로세스를 진행합니다.

그러나 이는 프로덕션 환경에는 적합하지 않으며 단지 개발에만 적합하다는 점을 알아야 합니다. 새로 생성된 프로젝트를 시작하려면 현재 작업 디렉터리를 프로젝트의 컨테이너 디렉터리(~/myfirstdjangoenv/myfirstdjangoproject)로 변경하고 다음을 실행하세요.

python manage.py runserver 0.0.0.0:8000

다음 오류가 발생하는 경우:

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

표시된 대로 수행하십시오.

python manage.py migrate

그런 다음 서버를 다시 시작하십시오.

python manage.py runserver 0.0.0.0:8000

이 시리즈의 다음 기사에서 마이그레이션 개념을 다룰 것이므로 당분간은 오류 메시지를 무시해도 됩니다.

어떤 경우에도 내장 웹 서버가 수신할 기본 포트를 변경할 수 있습니다. 수신할 네트워크 인터페이스로 0.0.0.0을 사용하면 동일한 네트워크에 있는 다른 컴퓨터가 프로젝트 사용자 인터페이스에 액세스할 수 있습니다(대신 127.0.0.1을 사용하는 경우, localhost에서만 UI에 액세스할 수 있습니다.

포트를 원하는 다른 포트로 변경할 수도 있지만, 해당 포트를 통한 트래픽이 방화벽을 통해 허용되는지 확인해야 합니다.

firewall-cmd --add-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp

물론, 경량 웹 서버를 실행하는 동안 다른 포트를 사용하기로 선택한 경우 허용된 포트를 업데이트해야 한다는 것은 말할 필요도 없습니다.

터미널에 다음 출력이 표시되어야 합니다.

python manage.py runserver 0.0.0.0:8000

이 시점에서 즐겨찾는 웹 브라우저를 열고 Django를 설치한 컴퓨터의 IP 주소와 포트 번호를 차례로 탐색할 수 있습니다. 제 경우에는 IP가 192.168.0.25이고 포트 8000에서 수신 대기하는 Debian Jessie 상자입니다.

http://192.168.0.25:8000

프로젝트의 초기 설정을 완료할 수 있어서 다행이지만, 위 메시지에서 알 수 있듯이 아직 해야 할 일이 많이 남아 있습니다.

요약

이 가이드에서는 Python 기반의 다용도 오픈 소스 웹 프레임워크인 Django용 가상 환경을 설치하고 구성하는 방법을 설명했습니다.

귀하가 응용 프로그램 개발자인지 시스템 관리자인지에 관계없이 일상적인 작업에 이러한 도구의 필요성을 고려해야 할 시점이 있기 때문에 이 기사와 이 시리즈의 나머지 부분을 북마크에 추가하고 싶을 것입니다.

이 시리즈의 다음 기사에서는 Django와 Python을 사용하여 간단하면서도 기능적인 웹 애플리케이션을 만들기 위해 이미 달성한 작업을 기반으로 구축하는 방법에 대해 논의할 것입니다.

언제나 그렇듯, 이 글에 대한 질문이나 개선할 제안 사항이 있으면 주저하지 말고 알려주세요. 여러분의 의견을 기다리겠습니다!