문제

Windows, Sqlite 및 Django Dev 서버에서 Django 앱을 개발하고 있습니다. Linux, Apache, FastCGI, MySQL을 실행중인 호스트 서버에 배포했습니다.

불행히도, 프록의 서버에서 오류가 반환되는 반면 Dev 시스템의 모든 것이 정상입니다. 문제를 디버깅하고 이해하기 위해 제공자에게 사전 제작 솔루션을 요청했습니다.

어쨌든, Django 앱을 Dev에서 Prod로 이동할 때 발생할 수있는 가장 가능성있는 오류는 무엇입니까?

최고

업데이트 : 프리 프로드가 이러한 종류의 문제를 해결하는 가장 좋은 방법이라고 생각합니다. 그러나 생산을하기 전에해야 할 일에 대한 확인 목록을 작성하고 싶습니다. 지금까지받은 매우 귀중한 답변에 감사드립니다 :)

업데이트 : fyi, 나는 Shanyu가 제안한대로 Preprod 서버와 이메일 알림을 구현했으며 오류가 smart_if templatetag 이 새 버전에서 사용하고 있습니다. 템플릿 태그가있는 트릭이 있습니까?

업데이트 : FileZilla FTP 전송으로 인해 발생한 PB를 수정했다고 생각합니다. "최신 인 경우 교체"옵션을 사용하여 예상치 못한 결과를 초래한다고 생각합니다. "모든 교체"옵션을 사용하여 문제를 수정하십시오. 그러나 배포에 대해 더 많이 배울 수있는 기회였습니다. 당신의 답변에 대한 thansk.

도움이 되었습니까?

해결책

내가 일반적으로 가지고있는 문제는 다음을 포함합니다.

  1. 내 제작 지역 설정에 상관없이 제작 된 제작 설정.
  2. 데이터베이스 차이. 나는 사용한다 남쪽 마이그레이션의 경우 SQLITE에서 원활하게 작동했을 때 PostgreSQL에서 마이그레이션을 수행 할 때 미묘한 문제가 발생했습니다.
  3. 정적 파일 호스팅은 개발 중에 Django 서버를 속이고 사용한 이후
  4. 파일 시스템과 데이터베이스 내에서 권한
  5. PYPI 또는 일부 타사 사이트에 관계없이 드물지만 가능하지만 네트워크 문제는 제 의존성을 얻지 못하게합니다.

이러한 문제를 완화하는 방법 :

  • 생산 및 개발에서 동일한 데이터베이스를 사용하십시오 (귀하의 경우 MySQL Everywhere)
  • 나는 가능한 모든 방법으로 생산을 모방하는 "테스트"환경을 갖는 것이 유용하다는 것을 알았습니다 (하위 엔드 하드웨어 또는 동일한 기계에있을 수 있음). 이런 식 으로이 "프로덕션과 같은"enivornment에 문제가있는 경우 제작 서버를 오프라인으로 사용하지 않고 해결할 수 있습니다.
  • 반복 가능한 배포를 위해 모든 것을 스크립트합니다. 나는 사용한다 구조, 그러나 ZC.Buildout 또는 Paver도 작동합니다. 이 도구는 배포하는 동안 오타를 줄이고 앱을 배포 할 시간을 줄입니다.
  • 버전 제어 (Mercurial, Git, Subversion) 및 스키마 마이그레이션 도구 (남쪽과 같은)를 사용하므로 프로덕션에 배치 할 때 무언가 잘못된 문제가 발생하면 변경 사항을 백업하고 이전 코드에서 생산을 실행할 수 있습니다. 이전 데이터베이스 스키마와 함께.
  • 나는 "설정하지 않았다"계란 프록시"아직, 그러나 종속성을 다운로드 할 때 문제를 피하기 위해 고려하고 있습니다.
  • 내가 찾았 어 처음에 다운로드 한 이후 라이브러리에 대한 새로운 호환 변경이 발생한 경우 유용하기 위해 동결 의존성이 유용합니다.
  • 풍차 또는 셀레늄과 같은 웹 테스트 프레임 워크를 사용하여 "테스트"환경에서 응용 프로그램을 테스트하여 시스템에 대한 많은 테스트 범위를 매우 빠르게 얻을 수 있습니다.

다른 팁

귀하의 경우와 관련하여, 나는 당신을 도울 수있는 두 가지 간단한 것들을 생각할 수 있습니다.

  1. 예외가 발생할 때 Django가 메시지를 보내도록 할 수 있습니다. 보다 여기 자세한 내용은.
  2. ProD 서버 (예 : Test.example.com)에서 테스트 환경을 설정하면 앱을 배포하기 전에 상황이 원활하게 진행되는지 확인할 수 있도록 더 나은 것이 더 좋습니다.

나는 이것이 내가 최근에 들었던 팟 캐스트라고 생각합니다 (Pycon 2009에서).

현실 세계에서 Django 찾기 (Pycon 2009) :

http://advocacy.python.org/podcasts/pycon.rss

파트 1 ~ 3

배포를위한 앱 설계, 특히 재사용 및 재배치를위한 아주 좋은 소개.

regs.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top