Overview
Django는 Python으로 개발된 강력한 웹 애플리케이션 프레임워크이다.
빠르고 안정적인 웹 애플리케이션을 개발할 수 있도록 다양한 기능을 제공하며, MVT(Model-View-Template) 패턴을 따른다.
본 문서에서는 Django의 개념, 환경 설정, 프로젝트 생성, 실행 방법, 도메인 설정 등에 대해 다룬다.
Django를 처음 접하는 개발자도 쉽게 이해할 수 있도록 설치부터 실행까지의 과정을 정리하였다.
이 문서를 통해 배우는 내용
- Django 개념 이해
- Python 및 Django 설치
- Django 프로젝트 생성 및 실행
- ALLOWED_HOSTS 설정 및 방화벽 등록
- 심볼릭 링크 설정 및 도메인 연결
이제 Django의 기본 개념을 익히고, 직접 환경을 구성해보자!
Django란?
Django는 Python 기반의 오픈소스 웹 애플리케이션 프레임워크이다.
웹 개발을 빠르고 쉽게 할 수 있도록 다양한 기능을 제공하며, MVT(Model-View-Template) 패턴을 사용한다.
Django의 핵심 구성 요소
구성 요소 | 설명 |
Model | 데이터베이스 관련 로직 |
View | 웹 페이지의 UI 및 화면 처리 (HTML, CSS, JavaScript) |
Template | View에 전달된 데이터를 활용하여 웹페이지를 동적으로 구성 |
URL Dispatcher | 사용자가 입력한 URL을 분석하여 적절한 View로 연결 |
Control (View) | Model과 Template을 연결하는 역할 수행 |
1. Django 환경설정
1) Python 및 Django 설치
리눅스 환경에서 Django를 실행하기 위해 Python과 Django를 설치한다.
디렉토리 생성 및 추가 HDD 마운트
mkdir /soma # 프로젝트 디렉토리 생성
fdisk /dev/sdb
n # 새 파티션 생성
p # Primary 파티션 선택
w # 설정 저장
mkfs.ext4 /dev/sdb1 # 파일 시스템 생성
vi /etc/fstab # 자동 마운트 설정
/dev/sdb1 /soma ext4 defaults 1 2
reboot # 시스템 재부팅
df -h | grep soma # 마운트 확인
Python3 및 Pip 설치
yum -y install epel-release # EPEL 저장소 추가
yum -y install python3* # Python3 설치
yum -y install python3* --skip-broken # 의존성 문제 발생 시
python3 -V # Python 버전 확인
Python 3.6.8
which python3 # Python3 실행 파일 경로 확인
/usr/bin/python3
ls -l /usr/bin/python3 # 심볼릭 링크 확인
lrwxrwxrwx. 1 root root 9 2월 16 15:02 /usr/bin/python3 -> python3.6
Pip 및 Django 설치
yum -y install python3-pip # pip 설치
pip3 -V # pip 버전 확인
pip3 install django==2.1 # Django 2.1 설치
python3 -m django --version # Django 버전 확인
2) 방화벽 8000번 포트 등록
Django 기본 서버는 8000번 포트에서 동작하므로, 방화벽을 설정해야 한다.
firewall-cmd --permanent --add-port=8000/tcp # 포트 추가
firewall-cmd --reload # 방화벽 설정 적용
firewall-cmd --list-all # 설정 확인
3) Django 프로젝트 생성 및 실행
cd /somaz
django-admin startproject somaServer # 프로젝트 생성
cd /soma/somaServer
python3 manage.py runserver 0.0.0.0:8000 # Django 서버 실행 (에러 발생 가능)
`ALLOWED_HOSTS` 수정 (에러 해결)
cd /usr/local/lib64/python3.6/site-packages/django/http
vi request.py
...
95 allowed_hosts = ['localhost', '127.0.0.1', '[::1]', '172.17.5.10'] # 서버 IP 추가
마이그레이션 후 서버 실행
cd /soma/somaServer
python3 manage.py migrate # 데이터베이스 마이그레이션 적용
python3 manage.py runserver 0.0.0.0:8000
웹 브라우저에서 접속 테스트
http://172.17.5.10:8000
✔ Django 환영 페이지가 보이면 성공!
2. 심볼릭 링크 설정 및 도메인 연결
1) 심볼릭 링크 생성
ln -s /usr/local/lib64/python3.6/site-packages/django/http/ /usr/bin/dsoma
2) 도메인 추가 설정
cd /usr/bin/dsoma/
vi request.py
...
95 allowed_hosts = ['localhost', '127.0.0.1', '[::1]', '192.168.10.129', 'www.dsoma.com']
Django 서버 재실행
cd /soma/somaServer
python3 manage.py runserver 0.0.0.0:8000
브라우저에서 도메인 접속 테스트
http://www.dsoma.com:8000
✔ 성공! (DNS 설정이 필요하므로, 별도로 구성해야 함)
마무리
Django는 Python 기반의 웹 프레임워크로, MVC 패턴을 기반으로 한다.
Python3 및 Django 설치 후, 프로젝트를 생성하고 실행할 수 있다.
`ALLOWED_HOSTS` 를 수정하여 외부 접속을 허용해야 한다.
방화벽을 설정하여 8000번 포트를 열어야 한다.
도메인을 설정하여 사용자 친화적인 URL을 사용할 수 있다.
이제 Django를 활용하여 웹 애플리케이션 개발을 시작해보자!
Reference
'Linux' 카테고리의 다른 글
chattr & lsattr란? (파일 속성 관리 명령어) (0) | 2022.07.25 |
---|---|
CentOS 7 / 계정에 sudo 권한 주기 / bash-4.2$ (0) | 2022.04.28 |
LVM(Logical Volume Manager) 개요 및 실습 (0) | 2022.02.16 |
리눅스 압축&보관 유틸리티 (0) | 2022.01.18 |
마운트(Mount) / 오토 마운트(Auto Mount) (0) | 2022.01.17 |