본문으로 이동

장고:서버 옮기기: 두 판 사이의 차이

학교의 모든 지식. SMwiki
새 문서: {{장고}} == 개요 == 종종 서버를 이사해야 할 때가 있다. 하드디스크의 손상을 고려해 새 서버로 옮긴다든가... = Django 프로젝트 이전 절차 = # 기존 서비스 중단 여부 결정 (무중단 / 점검 시간 확보) == 파이썬 관련 옮기기 == === 기존 서버에서 === {| class="wikitable" !과정 !설명 !비고 |- |Python 버전 확인 | | |- |라이브러리 백업 | |pip freeze > requirements.txt |- | | | |} === 새 서...
 
잔글편집 요약 없음
3번째 줄: 3번째 줄:
== 개요 ==
== 개요 ==
종종 서버를 이사해야 할 때가 있다. 하드디스크의 손상을 고려해 새 서버로 옮긴다든가...
종종 서버를 이사해야 할 때가 있다. 하드디스크의 손상을 고려해 새 서버로 옮긴다든가...
업그레이드는 업그레이드 문서를 참고하자.


= Django 프로젝트 이전 절차 =
= Django 프로젝트 이전 절차 =
17번째 줄: 19번째 줄:
|-
|-
|Python 버전 확인
|Python 버전 확인
|
|버전 안맞으면 연달아 라이브러리에서 깨지는 경우 있음.
|
|python --version
|-
|-
|라이브러리 백업
|라이브러리 백업
65번째 줄: 67번째 줄:
|
|
|mysqldump -u user -p dbname > backup.sql
|mysqldump -u user -p dbname > backup.sql
mysql -u user -p dbname < backup.sql
|}
|}


== 웹 서버 설정 ==
=== 새 서버에서 ===
각 DB에 맞게 sql 파일을 복원하는 명령을 수행하면 됨. <code>mysql -u user -p dbname < backup.sql</code>


* Nginx 또는 Apache 설정
== 기타 ==
* Reverse Proxy 구성
이후 웹 서버 설정, systemd 등록 등은 다른 장고 웹호스팅 관련 문서를 참고하자.
* Static / Media 경로 연결
 
== 서비스 등록 ==
 
=== systemd 서비스 등록 (Gunicorn 예시) ===
 
* /etc/systemd/system/gunicorn.service 작성
<pre>
sudo systemctl daemon-reload
sudo systemctl enable --now gunicorn
</pre>


== 점검 ==
== 점검 ==
 
점검도 웹호스팅 문서를 따라가자.
* 웹 브라우저 접속 확인
* 관리자 페이지 접속
* 주요 기능 테스트
* 로그 확인
<pre>
journalctl -u gunicorn
tail -f /var/log/nginx/error.log
</pre>


= 이전 후 체크리스트 =
= 이전 후 체크리스트 =

2025년 12월 24일 (수) 02:11 판

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

  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 버전 확인 버전 안맞으면 연달아 라이브러리에서 깨지는 경우 있음. 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는 망가지면 끝임;;)