Programing

django 프로덕션 서버에 virtualenv를 권장합니까?

lottogame 2020. 10. 20. 07:12
반응형

django 프로덕션 서버에 virtualenv를 권장합니까?


환경을 격리하고 새 패키지 릴리스를 안전하게 테스트 할 수 있으므로 localhost에서 내 앱을 테스트하기 위해 항상 virtualenv를 사용해 왔습니다.

이제 프로덕션 서버에 앱을 배포해야 할 때입니다. 프로덕션 서버에도 virtualenv를 사용해야하는지 아니면 일반 설치로해야하는지 궁금합니다. 프로덕션 서버이기 때문에 항상 dev 서버 (virtual-env 아래)에서 테스트 한 올바른 버전을 사용할 수 있습니다.


웹 서버에서 하나 이상의 프로젝트를 실행할 것이라고 생각한다면 그렇게 할 것입니다. 두 개의 프로젝트가 생기 자마자 다른 사이트를 파괴하는 파이썬 패키지의 향후 업그레이드의 위험이 있습니다.


django 프로덕션 서버에 virtualenv를 권장합니까?

예, 프로젝트가 시스템 환경의 특정 측면에 의존하지 않고 배포 프로세스를보다 명확하고 구성 가능하게 만들 수 있습니다.

패브릭, pip 및 virtualenv를 사용하여 모든 Django 프로젝트를 배포합니다.


예, virtualenv를 사용하여 프로덕션에 배포해야한다고 생각합니다. 특히 django 기반 웹 사이트 또는 기타 Python 프로젝트와 같은 여러 서비스를 배포 할 계획 인 경우 작업이 훨씬 쉽고 깔끔해집니다. 그들 각각이 그들의 패키지로 전역 파이썬 환경을 오염시키는 것을 원하지 않습니다.

virtualenv가 모든 종속성을 깔끔하게 관리하는 데 도움이 될 것이라고 생각합니다.

프로덕션 환경을 업데이트하려면 다음을 수행하십시오.

pip -r name_of_your_requirements_file.txt

저는 프로덕션에서 virtualenv를 사용하고, 웹 서버로 Cherokee를 사용하여 uWSGI를 사용하여 애플리케이션을 제공 할 수 있습니다.

프로덕션에서 virtualenv를 사용하려면 해당 경로를 PYTHONPATH에 추가해야합니다.

예를 들어 환경에 "/ home / www / my_project / env /"경로가있는 경우 추가 할 경로는 다음과 같습니다.

/home/www/env/lib/python2.7/site-packages/

여러 가지 방법으로 설정할 수 있지만 manage.py를 통해 FCGI 또는 uWSGI 인터페이스를 생성하는 경우 manage.py 맨 위에 다음을 추가하기 만하면됩니다 (나머지 전에).

import os
my_virtualenv_path = "/home/www/my_project/env/lib/python2.7/site-packages/"
# Add it to your PYTHONPATH
os.path.append(my_virtualenv_path)

쉘에서 다음을 수행 할 수있는 경우를 대비하여이를 설정에 적용 할 수 있습니다.

export PYTHONPATH:$PYTHONPATH:/home/www/my_project/env/lib/python2.7/site-packages/

또한 settings.py 파일이 포함 된 디렉토리를 PYTHONPATH에 추가해야 Django가이를 찾을 수 있습니다. 비슷한 방식으로 진행하면됩니다.


대부분의 경우 서버를 처음 설정할 때 필요하지 않은 것 같더라도 virtualenv를 사용하는 것이 가장 좋습니다. 즉, 일종의 클라우드 서비스를 사용하고 특정 작업을 위해 짧은 시간 동안 서버를 가동하면 virtualenv를 사용하는 요점이 보이지 않습니다.


uwsgi가 vhost 플래그로 직접 지원할 때 완전히 지원되는 프로덕션 솔루션이라는 좋은 표시라고 생각합니다. http://projects.unbit.it/uwsgi/wiki/VirtualHosting


개발 및 프로덕션 배포 모두에 Docker 컨테이너를 사용하는 것은 현재 매우 인기가 있으므로 이러한 추세를 따르는 것을 고려하고 있다면 더 이상 virtualenv가 필요하지 않을 것입니다.

참고 URL : https://stackoverflow.com/questions/9337149/is-virtualenv-recommended-for-django-production-server

반응형