※ 이번에 서버를 Back단[Django(장고) - Apache2(아파치)] - Front단[React(리액트)]로 구축할 일이 생겨 다음에 삽질을 최소화 하기위해 정리한다.
1. 환경구축
- 운영체제 -
OS : ubuntu 18.04v
Kernel : Linux version 5.4.0-81-generic
- 필요설치 모듈 -python3 : v3.6.9
#파이썬, venv(가상환경구성) 설치
sudo apt-get install python3
sudo apt-get install python3-venv
2. 가상환경 구축
python3 -m venv 가상환경이름
가상환경을 구축하면 "가상환경이름"으로 폴더가 하나 생김.
source 가상환경폴더/bin/activate
가상환경 실행
3. 장고 설치 및 프로젝트 생성
pip install django
쟝고 설치를 진행하고
# 원하는 디렉토리에 구성
django-admin startproject 프로젝트이름
"프로젝트이름"에 자신이 원하는 프로젝트 이름지정 하면 프로젝트생성 됨
4. 장고 실행
# 프로젝트내의 manage.py를 8000포트로 실행
python manage.py runserver 0.0.0.0:8000
브라우저에 본인 IP:포트 접속해보면 위와같은 장고 기본페이지 반환
5. 쟝고 기본셋팅
프로젝트이름/프로젝트이름/settings.py 에서 기본환경들 설정
1) 접속 허용 IP명시
Setting.py 내의 ALLOWED_HOSTS = ['127.0.0.1', '*'] // '*'로 하면 모든 외부에서 접속가능하게 허용
2) DEBUG = True ,False
디버그의 기능은 True시 웹페이지에 오류를 나타내어 오류를 쉽게 찾을 수 있음
False로하면 404페이지만 나타냄
※ 여기서 쟝고는 경량형 서버다보니 False로 하다보니 생각보다 불편한 점이 많았다. 배포를 목적으로 하거나 완벽한 구축을 위해선 Apache나 Ngnix 등 서버를 두는것을 추천.
3) DB설정
# mysqlclient설치
pip install mysqlclient
쟝고 mysql연동
※ 쟝고는 기본 sqllite 경량형 DB를 제공한다. 허나 따로 DB를 두고 셋팅을 하고싶다면 아래와 같이 셋팅
DATABASES = {
'default': {
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': BASE_DIR / 'db.sqlite3',
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DB명',
'USER': '데이터베이스 계정',
'PASSWORD': '계정 비밀번호',
'HOST': 'DB 주소 (IP)',
'PORT': '데이터베이스 포트(기본은 3306)',
'OPTIONS': {
'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"'
}
}
}
아래 명령어를 통해 마이그레이션을 생성하고 DB에 연결하여 적용한다.
# 마이그레이션은 모델의 변경 내역을 DB *스키마에 적용시키는 장고의 방법
python manage.py makemigrations
# 마이그레이트는 실제 DB에 변경사항을 적용하는 명령
python manage.py migrate
4) 시간, 언어
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'
'서버 > Django' 카테고리의 다른 글
/static 404 에러(css, js오류) | 아파치 장고 static 파일 모으기 (장고, 아파치)- [Linux] (0) | 2021.09.15 |
---|---|
React 리액트 빈화면 출력 시 해결방법 (장고, 아파치)- [Linux] (0) | 2021.09.14 |
Django-Apache2 장고 아파치 연동 및 포트 변경- [Linux] (0) | 2021.09.14 |