본문으로 이동

장고:서버 옮기기

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2025년 12월 24일 (수) 02:05 판 (새 문서: {{장고}} == 개요 == 종종 서버를 이사해야 할 때가 있다. 하드디스크의 손상을 고려해 새 서버로 옮긴다든가... = Django 프로젝트 이전 절차 = # 기존 서비스 중단 여부 결정 (무중단 / 점검 시간 확보) == 파이썬 관련 옮기기 == === 기존 서버에서 === {| class="wikitable" !과정 !설명 !비고 |- |Python 버전 확인 | | |- |라이브러리 백업 | |pip freeze > requirements.txt |- | | | |} === 새 서...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

장고! 웹 프레임워크! 틀:장고

  1. 장고:개요
  2. 장고:웹페이지설계
    1. 장고:앱
    2. 장고:url
    3. 장고:model
      1. 장고:DB
      2. 장고:모델 필드
      3. 장고:모델의 변경
    4. 장고:view
      1. 장고:클래스형 뷰, 제네릭 뷰
      2. 장고:view 각종 기능
    5. 장고:template
    6. 장고:static. 정적파일 사용하기
      1. 장고:CSS 사용하기
      2. 장고:JS 사용하기
      3. 장고:글꼴 사용
      4. 장고:부트스트랩
    7. 장고:media. 미디어 파일 사용하기
  3. 장고:관리자페이지
  4. 장고:settings.py
  5. 장고:기능구현
    1. 장고:회원관리
    2. 장고:유저
    3. 장고:커스텀 유저
    4. 장고:소셜로그인
    5. 장고:입력받기
    6. 장고:저장된 내용 활용하기
    7. 장고:변수 내보내기
    8. 장고:글쓰기
    9. 장고:페이징(페이지나누기)
    10. 장고:답변쓰기(댓글쓰기)
    11. 장고:추천,즐겨찾기
    12. 장고:새글(최신글) 나타내기
    13. 장고:썸머노트 설치
    14. 장고:네비게이션 바 만들기
    15. 장고:검색기능
    16. 장고:카테고리 만들기
    17. 장고:사진 올리기
    18. 장고:파일 업로드
    19. 장고:이메일app 만들기
    20. 장고:매직 그리드
  6. 장고:웹서비스
    1. 장고:Git
    2. 장고:리눅스에 올리기
    3. 장고:우분투에 올리기(nginx 사용)
    4. 장고:도커로 올리기
    5. 장고:서버 옮기기
  7. 장고:팁

개요

종종 서버를 이사해야 할 때가 있다. 하드디스크의 손상을 고려해 새 서버로 옮긴다든가...

Django 프로젝트 이전 절차

  1. 기존 서비스 중단 여부 결정 (무중단 / 점검 시간 확보)

파이썬 관련 옮기기

기존 서버에서

과정 설명 비고
Python 버전 확인
라이브러리 백업 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

mysql -u user -p dbname < backup.sql

웹 서버 설정

  • Nginx 또는 Apache 설정
  • Reverse Proxy 구성
  • Static / Media 경로 연결

서비스 등록

systemd 서비스 등록 (Gunicorn 예시)

  • /etc/systemd/system/gunicorn.service 작성
sudo systemctl daemon-reload
sudo systemctl enable --now gunicorn

점검

  • 웹 브라우저 접속 확인
  • 관리자 페이지 접속
  • 주요 기능 테스트
  • 로그 확인
journalctl -u gunicorn
tail -f /var/log/nginx/error.log

이전 후 체크리스트

  • DEBUG = False 확인
  • ALLOWED_HOSTS 확인
  • 보안 키 유출 여부 점검
  • SSL 인증서 적용
  • 백업 정책 설정
  • 크론잡 / Celery / Redis 정상 동작 확인

참고 사항

  • 대규모 이전 시 Docker 사용을 권장
  • 작업 전 반드시 데이터베이스 백업 수행
  • 테스트 서버에서 1회 이상 이전 연습 권장(DB는 망가지면 끝임;;)