컴퓨터 활용/노년에 즐기는 코딩

오유권 문학관, OUKWON SHORTS 개설

easyfly 2025. 7. 31. 07:09
반응형

오유권 문학관, OUKWON SHORTS 개설

'영산포 출신 소설가 오유권의 문학 세계 아카이브'를 위한 사이트를 개설하고자 합니다. 클라우드 서버를 이용한 디렉터리 구조는 다음과 같습니다.

✅ 1. 전체 구조 예시 (oukwon.kr 프로젝트 기준)

/home/user/

├── oukwon/                     # 프로젝트 루트 디렉터리
│   ├── config/                 # Django 프로젝트 디렉터리 (settings.py 포함)
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py             # Gunicorn용 진입점
│   │
│   ├── apps/                   # 앱들을 모아두는 폴더
│   │   ├── core/               # 예: 공통 기능 앱
│   │   ├── oukwon/             # 예: 오유권 단편 관련 기능
│   │   └── users/              # 사용자 관련 기능
│   │
│   ├── manage.py
│   └── requirements.txt        # 패키지 목록

├── staticfiles/                # collectstatic 결과 (nginx가 참조)
├── media/                      # 사용자 업로드 파일
├── venv/                       # 파이썬 가상환경
├── .env                        # 환경 변수 파일 (비밀키, DB 등)
├── gunicorn.service            # systemd 서비스 파일
└── nginx/
    └── oukwon.conf             # nginx 설정 파일

 

 


✅ 2. 구성 요소 설명

🔸 oukwon/

Django 프로젝트 전체를 담는 루트 디렉터리입니다.
GCP VM 내부에서 관리 및 배포 편의성을 위해 하나의 디렉터리에 구성합니다.

🔸 config/

django-admin startproject config로 생성된 Django 프로젝트 디렉터리입니다.
settings.py, urls.py, wsgi.py, asgi.py 등이 포함됩니다.

이름은 관례에 따라 config로 합니다. oukwon으로 하면 앱과 헷갈릴 수 있어 구분을 위해 다르게 짓습니다.

🔸 apps/

startapp으로 만든 앱들을 모아둡니다. users, oukwon, common 등의 서브 디렉터리가 됩니다.
관리 편의상 앱을 분리하면 확장성과 유지보수에 좋습니다.

🔸 venv/

Python 가상환경. 시스템 전체 Python과 충돌을 방지하며 독립적으로 운영됩니다.

🔸 .env

보안상 필요한 환경 변수 저장 (비밀키, DB 비밀번호 등).
settings.py에서는 os.getenv()로 불러옵니다.

🔸 staticfiles/, media/

collectstatic으로 정적 파일을 모아둔 폴더, 업로드 파일을 저장하는 폴더입니다.
nginx가 이 경로를 참조합니다.

🔸 gunicorn.service

Gunicorn을 systemd로 관리하기 위한 서비스 파일입니다.

🔸 nginx/

nginx 설정을 따로 분리해 저장합니다.
도메인별 설정을 넣을 수 있어 관리에 유리합니다.


 

디지털 문학관이 개설되는 과정을 소개하면서 장고 프로젝트 진행을 공유하고자 합니다.

반응형