1. 프로젝트 폴더 구조 및 설명
다음은 NB 프로젝트의 전체 디렉터리 구성입니다:
nbproject/
├── apps/
├── conf/
├── content/
├── images/
├── lib/
├── templates/
├── .gitignore
├── AUTHORS.txt
├── Gruntfile.js
├── INSTALL.md
├── MIT-LICENSE.txt
├── Makefile
├── README
├── Vagrantfile
├── package.json
├── requirements.txt
└── vagrant_provision.sh
- apps/: 애플리케이션 소스 코드가 위치합니다.
- conf/: 설정 파일들이 저장됩니다.
- content/: 콘텐츠 관련 데이터를 포함합니다.
- images/: 이미지 자료가 보관됩니다.
- lib/: 라이브러리 또는 공통 모듈이 존재합니다.
- templates/: 템플릿 파일들이 모여 있습니다.
- .gitignore: Git에서 추적하지 않을 파일 목록입니다.
- AUTHORS.txt: 기여자 정보를 담고 있습니다.
- Gruntfile.js: Grunt 빌드 도구의 작업 정의 파일입니다.
- INSTALL.md: 설치 방법에 대한 문서입니다.
- MIT-LICENSE.txt: 라이선스 조항을 명시한 파일입니다.
- Makefile: 빌드 스크립트로 사용됩니다.
- README: 프로젝트 개요와 기본 안내서입니다.
- Vagrantfile: Vagrant 환경 설정 파일입니다.
- package.json: Node.js 의존성 및 스크립트 설정 파일입니다.
- requirements.txt: Python 패키지 의존성을 나열한 파일입니다.
- vagrant_provision.sh: Vagrant 환경 구축용 쉘 스크립트입니다.
2. 시작 파일 설명
2.1 Django 개발 서버 실행
개발 단계에서는 Django 내장 서버를 통해 간편하게 실행할 수 있습니다. 아래 명령어를 입력하세요:
cd $(PROJECT_ROOT)/servers
python manage.py runserver
$(PROJECT_ROOT)는 실제 프로젝트 경로로 대체되어야 합니다.
2.2 Apache 웹 서버에서 실행
운영 환경에서는 WSGI를 지원하는 Apache 서버를 권장합니다. 다음 설정을 httpd.conf에 추가해야 합니다:
WSGIScriptAlias / $(PROJECT_ROOT)/servers/apache/django.wsgi
여기서도 $(PROJECT_ROOT)는 실제 경로로 변경되어야 합니다.
3. 설정 파일 상세
주요 설정 파일들은 conf/ 디렉터리 아래에 위치하며, 다음과 같은 역할을 수행합니다:
3.1 conf/settings.py
Django 전반적인 설정을 담당합니다. 데이터베이스 연결, 정적 파일 경로, 미들웨어 등이 여기에 포함됩니다.
3.2 conf/urls.py
URL 라우팅 규칙을 정의하는 파일입니다. 요청 경로에 따라 적절한 뷰 함수나 클래스로 연결해줍니다.
3.3 conf/wsgi.py
운영 환경에서 Django 애플리케이션을 WSGI 인터페이스로 제공하기 위한 진입점입니다.
3.4 conf/local_settings.py
환경별(예: 로컬/테스트) 설정을 별도로 관리할 수 있는 옵션 파일입니다. 예를 들어 DB 접속 정보 등을 이곳에 저장하면 유연하게 관리할 수 있습니다.
위 설정들을 활용하면 다양한 환경에서 일관되게 프로젝트를 운영할 수 있습니다.