1. Django란?
Django는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)입니다.
쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크입니다.
Django는 MVC 모델이다.
Model : 데이터베이스 관련 로직
View : 웹브라우저에 실제로 보이는 부분에 관한 로직 (장고에서는 Template)
Control : View와 Model을 이어주는 로직 (장고에서는 View가 Control의 역할)
위 사진의 초록색 부분이 Django 가 하는 역할이라고 보면 된다. 우선 URL Dispatcher를 통해, 유저가 입력한 URL을 분석하고, 그것에 적합한 View로 전달하며 View는 사용자가 요구한 데이터베이스 정보를 Model에게 알려준다. 그리고 Model이 데이터베이스와 소통하여 데이터를 가져오게 된다. Model은 다시 View에 데이터를 전송하고, 마지막으로 View가 Template에 전달하여, Template이 UI부분을 가공해 최종적으로 유저에게 전달될 수 있도록 데이터를 만든다.
위의 흐름을 좀 더 상세하게 정리하면 이렇다.
그림에서 초록색으로 표시된 부분이 Django에서 개발자가 다루게 될 부분이다.
2. Django 환경설정
1) 파이썬 설치 및 디장고 실행
리눅스에 /soma 디렉터리 만들고 16GB 하드 추가 후 오토마운트
# mkdir /soma
# fdisk /dev/sdb
n
p
w
# mkfs.ext4 /dev/sdb1
# vi /etc/fstab
/dev/sdb1 /soma ext4 defaults 1 2
# reboot
# df -h | grep soma
파이썬 설치
# yum -y install epel-release
# yum -y python3*
# yum -y python3* --skip--broken // --skip--broken 메세지가 뜨면 쓰기
# python3
>>exit();
# python3 -V
Python 3.6.8
# which python3
/usr/bin/python3
# ls -l /usr/bin/python3
lrwxrwxrwx. 1 root root 9 2월 16 15:02 /usr/bin/python3 -> python3.6
pip, 디장고 설치
# yum -y install python3-pip
# pip3 -V
# pip3 install django==2.1
# python3 -m django --version
방화벽 8000번 포트 등록
# firewall-cmd --permanent --add-port=8000/tcp // 그냥 포트 추가
(or)
# vi /etc/firewalld/zones/public.xml // 설정파일에 포트 추가
# firewall-cmd --reload // reload
# firewall-cmd --list-all
실행
# cd /soma
# django-admin startproject somaServer
# python manage.py runserver 0.0.0.0:8000 // 에러 발생
# cd /usr/local/lib64/python3.6/site-packages/django/http
# vi request.py
95 allowed_host = ['localhost', '127.0.0.1', '[::1]', '172.17.5.10']
# cd /soma/somaServer
# python3 manage.py migrate
# python3 manage.py runserver 0.0.0.0:8000
// chrome 열기
// 172.17.5.10:8000 입력
// 성공!!
2) 심볼릭 링크 걸고 도메인 부여
# ln -s /usr/local/lib64/python3.6/site-packages/django/http/ /usr/bin/dsoma
# cd /usr/bin/dsoma/
# vi request.py
95 allowed_host = ['localhost', '127.0.0.1', '[::1]', '192.168.10.129', 'www.dsoma.com']
# cd /soma/somaServer
# python3 manage.py runserver 0.0.0.0:8000
// www.dsoma.com:8000 성공!
물론 DNS가 있어야 가능하다. DNS에 대한 설명은 생략하도록 한다.
'Linux' 카테고리의 다른 글
Chattr 이란? (0) | 2022.07.25 |
---|---|
CentOS 7 / 계정에 sudo 권한 주기 (0) | 2022.04.28 |
LVM (0) | 2022.02.16 |
리눅스 압축&보관 유틸리티 (0) | 2022.01.18 |
마운트(Mount) / 오토 마운트(Auto Mount) (0) | 2022.01.17 |