장고:서버 옮기기: 두 판 사이의 차이
보이기
| 10번째 줄: | 10번째 줄: | ||
# 기존 서비스 중단 여부 결정 (무중단 / 점검 시간 확보) | # 기존 서비스 중단 여부 결정 (무중단 / 점검 시간 확보) | ||
# 옮기기 | # 옮기기 | ||
# | #* 크게 다음 것들만 옮기면 된다. | ||
##파이썬 가상환경 | ## 파이썬 가상환경 | ||
##디렉토리 | ## 프로젝트 디렉토리 | ||
## | ## 데이터베이스 | ||
== 파이썬 관련 옮기기 == | == 파이썬 관련 옮기기 == | ||
2025년 12월 24일 (수) 02:14 판
장고! 웹 프레임워크! 틀:장고
개요
종종 서버를 이사해야 할 때가 있다. 하드디스크의 손상을 고려해 새 서버로 옮긴다든가...
업그레이드는 업그레이드 문서를 참고하자.
Django 프로젝트 이전 절차
- 기존 서비스 중단 여부 결정 (무중단 / 점검 시간 확보)
- 옮기기
- 크게 다음 것들만 옮기면 된다.
- 파이썬 가상환경
- 프로젝트 디렉토리
- 데이터베이스
파이썬 관련 옮기기
기존 서버에서
| 과정 | 설명 | 비고 |
|---|---|---|
| Python 버전 확인 | 버전 안맞으면 연달아 라이브러리에서 깨지는 경우 있음. | python --version |
| 라이브러리 백업 | pip freeze > requirements.txt | |
새 서버에서
| 과정 | 설명 | 비고 |
|---|---|---|
| Python 가상환경 구성 | python -m venv venv
source venv/bin/activate | |
| 라이브러리 설치 | 위에서 백업한 그대로 진행한다. | pip install -r requirements.txt |
데이터 베이스 옮기기
기존 서버에서
데이터베이스 종류 확인 (SQLite / PostgreSQL / MySQL 등)
| DB 종류 | 설명 | 비고 |
|---|---|---|
| SQLite | db.sqlite3 파일을 그대로 복사 | |
| PostgreSQL | pg_dump dbname > backup.sql | |
| MySQL / MariaDB | mysqldump -u user -p dbname > backup.sql |
새 서버에서
각 DB에 맞게 sql 파일을 복원하는 명령을 수행하면 됨. mysql -u user -p dbname < backup.sql
기타
이후 웹 서버 설정, systemd 등록 등은 다른 장고 웹호스팅 관련 문서를 참고하자.
점검
점검도 웹호스팅 문서를 따라가자.
이전 후 체크리스트
- DEBUG = False 확인
- ALLOWED_HOSTS 확인
- 보안 키 유출 여부 점검
- SSL 인증서 적용
- 백업 정책 설정
- 크론잡 / Celery / Redis 정상 동작 확인
참고 사항
- 대규모 이전 시 Docker 사용을 권장
- 작업 전 반드시 데이터베이스 백업 수행
- 테스트 서버에서 1회 이상 이전 연습 권장(DB는 망가지면 끝임;;)