일반적인 방법으로 Python 웹 애플리케이션을 실행하는 것과 wsgi에서 실행하는 것의 차이점은 무엇입니까?

일반적인 방법으로 Python 웹 애플리케이션을 실행하는 것과 wsgi에서 실행하는 것의 차이점은 무엇입니까?

Python 웹 애플리케이션(Flask 및 Django와 같은 프레임워크로 개발된 애플리케이션)을 서버에서 실행하려면 uwsgi, wsgi.. gunicorn.. 등을 사용하여 배포하고, apache2& 와 같은 웹 서버 nginx.

하지만 그냥 실행 python my_app.py하면 애플리케이션이 다음과 같은 포트를 사용하여 서버에서 작동한다는 것을 알고 있습니다 mywebsite.com:5000. 그리고 웹 서버의 프록시를 사용하여 내가 mywebsite.com:5000원하는 곳 test.example.com이나 원하는 곳으로 리디렉션할 수 있습니다.

그렇다면 두 가지 방법의 차이점은 무엇입니까? 어느 것을 사용해야 합니까?

감사해요.

답변1

모든 프레임워크에 해당되는 것은 아니지만 참조한 dev http 모드에서 실행할 때 django와 플라스크는 단일 스레드일 뿐입니다.

따라서 서버는 한 번에 하나의 연결만 처리할 수 있습니다. 따라서 두 개의 연결이 함께 들어오면 서버는 하나를 처리하고 다른 하나는 기다리게 합니다.

apache/nginx가 앞에 있는 wsgi 서버는 한 번에 많은 연결을 처리합니다.

관련 정보