J'ai lu quelques introductions à wsgi sur Internet, mais elles parlaient essentiellement de ce qu'est wsgi, mais n'expliquaient pas comment wsgi fonctionne spécifiquement.
En termes simples, je veux savoir comment sur un serveur Web construit avec Django+Apache, lorsqu'Apache reçoit une requête d'un client, il transmet la requête au code Django.
Le code Django s'exécute-t-il dans le processus Apache, ou a-t-il son propre processus et communique-t-il d'une manière ou d'une autre ?
S'il s'exécute dans le processus Apache, alors chaque fois qu'un nouveau processus Apache est créé, le code Django sera rechargé ?
En fait, il s'agit d'un protocole de communication intermédiaire. Comme mentionné ci-dessus, vous pouvez également utiliser http. WSGI semble avoir de meilleures performances. Je ne me souviens pas si wsgi est le meilleur pour le moment. Ce que j'utilise ici, c'est uwsgi.Java. . Il existe un protocole de communication similaire entre HTTPServer et le conteneur d'application. Un avantage fondamental des deux isolations est que les fichiers statiques peuvent être fournis directement à l'aide du service httpServer.
httpServer et le conteneur sont des processus complètement indépendants. Pour être précis, il peut y en avoir plus de deux. Vous pouvez ouvrir autant d'uwsgi que vous le souhaitez. Par exemple, 4 à 6 processus de service uwsgi peuvent être ouverts en même temps. temps pour fournir des services de conteneurs.
Apache
将请求直接转发给Django
,和直接访问Django
Aucune différenceDocuments officiels
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/