웹사이트 검색

Debian 10에 Django 웹 애플리케이션 프레임워크를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 데비안 11(불스아이)
  • 데비안 10(버스터)

이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. 장고 설치
  4. Django 프로젝트 만들기\n
  5. Django용 수퍼유저 생성
  6. Django 서버 시작
  7. Django 애플리케이션 액세스\n
  8. MariaDB 데이터베이스 커넥터 설치
  9. MariaDB 연결을 위한 Django 구성\n
  10. MariaDB 연결 테스트
  11. 결론

Django는 동적 웹 사이트 및 응용 프로그램을 개발하는 데 도움이 되는 오픈 소스 웹 응용 프로그램 프레임워크입니다. 안전하고 빠르며 안정적이어서 적은 코딩으로 복잡한 웹사이트를 만들 수 있습니다. 시스템에 Django를 설치하는 방법에는 여러 가지가 있습니다. Debian 저장소, PIP 사용 또는 Git 저장소를 사용하여 설치할 수 있습니다. 필요에 따라 방법을 선택할 수 있습니다. Django를 사용하면 Python 가상 환경에서 프로젝트를 만들 수 있습니다. 이렇게 하면 단일 시스템에서 여러 Django 환경을 만들 수 있습니다.

이 튜토리얼에서는 Debian 10에 PIP로 Django 웹 프레임워크를 설치하는 방법을 배웁니다. 또한 Django 애플리케이션을 만들고 데이터베이스와 연결하는 방법도 배웁니다.

전제 조건

  • Debian 10을 실행하는 서버.\n
  • 서버에 루트 암호가 구성되어 있습니다.\n

시작하기

시작하기 전에 시스템을 최신 버전으로 업데이트하십시오. 다음 명령을 실행하여 수행할 수 있습니다.

apt-get update -y
apt-get upgrade -y

시스템이 업데이트되면 시스템을 다시 시작하여 변경 사항을 적용하십시오.

장고 설치

Django는 Python 언어로 작성되었습니다. 따라서 Django를 설치하려면 시스템에 Python 종속 항목을 설치해야 합니다. 다음 명령으로 모두 설치할 수 있습니다.

apt-get install python3 python3-pip tree -y

모든 패키지를 설치한 후 다음 명령을 사용하여 설치된 PIP 버전을 확인할 수 있습니다.

pip3 -V

다음 출력이 표시되어야 합니다.

pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

이제 아래와 같이 PIP 명령을 사용하여 Django 설치를 진행할 수 있습니다.

pip3 install Django

설치가 완료되면 다음 명령을 사용하여 Django 버전을 확인하십시오.

django-admin --version

다음 출력이 표시되어야 합니다.

3.0.2

이 시점에서 Django가 서버에 설치되었습니다. 이제 다음 단계를 진행할 수 있습니다.

장고 프로젝트 만들기

이제 샘플 Django 프로젝트 생성을 시작하겠습니다. 먼저 디렉토리를 Django 프로젝트를 생성하려는 /opt로 변경합니다.

cd /opt

다음으로 다음 명령을 실행하여 Dproject라는 새 Django 프로젝트를 만듭니다.

django-admin startproject Dproject

프로젝트가 생성되면 다음 명령을 사용하여 이 프로젝트의 디렉토리 구조를 볼 수 있습니다.

tree

다음 출력이 표시되어야 합니다.

.
??? Dproject
    ??? Dproject
    ?   ??? asgi.py
    ?   ??? __init__.py
    ?   ??? settings.py
    ?   ??? urls.py
    ?   ??? wsgi.py
    ??? manage.py

다음으로 디렉터리를 Dproject로 변경하고 다음 명령을 사용하여 보류 중인 변경 사항을 마이그레이션합니다.

cd Dproject
python3 manage.py migrate

마이그레이션이 성공적으로 완료되면 다음 출력이 표시됩니다.

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK

이 시점에서 새로운 Django 프로젝트가 /opt 디렉토리 안에 생성되었습니다.

Django용 슈퍼 유저 생성

다음으로 Django 관리 인터페이스에 액세스하려면 Django용 수퍼유저를 생성해야 합니다. 다음 명령으로 만들 수 있습니다.

python3 manage.py createsuperuser

아래와 같이 원하는 사용자 이름, 이메일 주소 및 비밀번호를 제공하십시오.

Username (leave blank to use 'root'): admin
Email address: 
Password: 
Password (again): 
Superuser created successfully.

장고 서버 시작

기본적으로 Django는 원격 시스템에서 액세스할 수 없습니다. 따라서 Django를 구성하고 서버 IP를 정의해야 합니다. settings.py 파일을 편집하면 됩니다.

nano /opt/Dproject/Dproject/settings.py

다음 줄을 변경합니다.

ALLOWED_HOSTS = ['your-server-ip']

완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 Django 서버를 시작합니다.

cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000

서버가 성공적으로 시작되면 다음 출력이 표시되어야 합니다.

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
January 07, 2020 - 13:01:23
Django version 3.0.2, using settings 'Dproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

Django 애플리케이션에 액세스

이 시점에서 Django 애플리케이션이 시작되고 포트 8000에서 수신 대기합니다. 액세스하려면 웹 브라우저를 열고 URL http://your-server-ip:8000을 입력합니다. 다음 화면에 Django 애플리케이션이 표시되어야 합니다.

Django Admin 인터페이스에 액세스하려면 웹 브라우저를 열고 URL http://your-server-ip:8000/admin을 입력하십시오. Django 로그인 페이지로 리디렉션됩니다.

Django 관리자 사용자 이름, 비밀번호를 제공하고 로그인 버튼을 클릭합니다. 다음 화면에 Django Admin 인터페이스가 표시되어야 합니다.

MariaDB 데이터베이스 커넥터 설치

다음으로 Django를 MariaDB 데이터베이스와 연결하기 위해 MariaDB 데이터베이스 커넥터 및 기타 개발 패키지를 설치해야 합니다. 다음 명령을 사용하여 모두 설치할 수 있습니다.

apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y

모든 패키지가 설치되면 아래와 같이 PIP 명령을 사용하여 mysqlclient 라이브러리를 설치할 수 있습니다.

pip3 install mysqlclient

설치가 완료되면 다음 명령을 사용하여 MariaDB 셸에 로그인합니다.

mysql

그런 다음 다음 명령을 사용하여 MariaDB의 루트 암호를 설정합니다.

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");

다음으로 다음 명령을 사용하여 Django용 데이터베이스를 생성합니다.

MariaDB [(none)]> create database testdb;

다음 명령을 사용하여 위에서 만든 데이터베이스를 볼 수 있습니다.

MariaDB [(none)]> show databases;

다음 출력이 표시되어야 합니다.

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testdb             |
+--------------------+

그런 다음 권한을 플러시하고 다음 명령을 사용하여 MariaDB 셸을 종료합니다.

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

MariaDB 연결을 위한 Django 구성

다음으로 Django에서 MariaDB 데이터베이스 자격 증명을 정의해야 합니다. settings.py 파일을 편집하여 정의할 수 있습니다.

nano /opt/Dproject/Dproject/settings.py

다음 줄을 찾으십시오.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

그리고 다음 줄로 바꿉니다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
        'read_default_file': '/etc/mysql/mariadb.conf.d/50-client.cnf',
        },
    }
}

완료되면 파일을 저장하고 닫습니다. 그런 다음 아래와 같이 MariaDB 클라이언트 자격 증명 파일을 편집합니다.

nano /etc/mysql/mariadb.conf.d/50-client.cnf

아래와 같이 MariaDB 데이터베이스 자격 증명을 정의합니다.

[client]
database = testdb 
user = root   
password = newpassword
default-character-set = utf8

파일을 저장하고 닫은 다음 MariaDB 서비스를 다시 시작하여 변경 사항을 구현합니다.

systemctl restart mariadb

다음으로 디렉터리를 Django 프로젝트로 변경하고 다음 명령을 사용하여 새 변경 사항을 마이그레이션합니다.

cd /opt/Dproject
python3 manage.py migrate

마이그레이션이 성공적으로 완료되면 다음 단계를 진행할 수 있습니다.

MariaDB 연결 테스트

이 시점에서 Django는 MariaDB 데이터베이스에 연결하도록 구성됩니다. 테스트할 시간입니다.

이렇게 하려면 다음 명령을 사용하여 Django 서버를 시작합니다.

cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000

Django 서버가 성공적으로 시작되면 다음과 같은 결과가 표시됩니다.

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
January 07, 2020 - 13:30:49
Django version 3.0.2, using settings 'Dproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

이제 URL http://your-server-ip:8000을 사용하여 Django 애플리케이션에 액세스할 수 있습니다. 다음 화면에 Django 애플리케이션이 표시되어야 합니다.

테스트 후 터미널에서 CTRL + C를 눌러 모든 유형의 Django 서버를 중지할 수 있습니다.

결론

축하합니다! Django를 성공적으로 설치하고 Debian 10 서버의 MariaDB 데이터베이스와 연결했습니다. 이제 웹 애플리케이션 개발을 시작하고 Django 애플리케이션에서 마이그레이션을 적용할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.