[PYTHON] Déployer le didacticiel Django sur IIS ①

introduction

Pour rappel, je garderai une note des étapes qui ont conduit au tutoriel Django s'exécutant sur IIS sous Windows 10.

Article de référence

Création de la première application Django, partie 1 Héberger Django avec Windows7 + IIS + virtualenv + wfastcgi Exécutez Python (Django) sur Windows + IIS Erreur HTTP 500.19 lors de l'ouverture de la page Web IIS

table des matières

environnement

Installation de Python

Téléchargez le programme d'installation depuis le site officiel. Lors de l'installation, veuillez installer pour tous les utilisateurs. S'il s'agit d'une installation utilisateur individuelle, elle ne peut pas être utilisée par les utilisateurs IIS et ne peut pas être utilisée. キャプチャ.PNG

キャプチャ000.PNG

Installez PostgreSQL

Je veux utiliser PostgreSQL, donc je vais l'installer

Téléchargez le programme d'installation depuis le site officiel. Cette fois, j'ai installé la version 13 de Windows x86-64.

Activation d'IIS (Internet Information Services)

Depuis le Panneau de configuration> Programmes> Activer ou désactiver les fonctionnalités Windows Activez les services Internet. キャプチャ11.PNG

キャプチャ222.PNG

Gestion informatique> Services et applications Si le service d'informations Internet a été ajouté, il a été activé. キャプチャ333.PNG

Création de projet Django

1. Préparation de l'environnement de développement

Nous allons créer un répertoire "web" sous C: \ Users \ username et y travailler.

invite de commande

C:\Users\Nom d'utilisateur> mkdir web

Installation de virtualenv

invite de commande

C:\Users\Nom d'utilisateur\web> pip install virtualenv

Créer un environnement virtuel (env)

invite de commande

C:\Users\Nom d'utilisateur\web> virtualenv env

Activer l'environnement virtuel

invite de commande

C:\Users\Nom d'utilisateur\web> env\Scripts\activate

Installation de Django

invite de commande

(env) C:\Users\Nom d'utilisateur\web> pip install Django

Installez wfastcgi

invite de commande

(env) C:\Users\Nom d'utilisateur\web> pip install wfastcgi

Installation de psycopg2

invite de commande

(env) C:\Users\Nom d'utilisateur\web> pip install psycopg2

Le résultat de la liste pip est ci-dessous.

invite de commande

(env) C:\Users\Nom d'utilisateur\web>pip list
Package    Version
---------- -------
asgiref    3.2.10
Django     3.1.1
pip        20.2.3
psycopg2   2.8.6
pytz       2020.1
setuptools 49.6.0
sqlparse   0.3.1
wfastcgi   3.0.0
wheel      0.35.1

2. Créez un projet

Suivez le tutoriel Django pour créer un projet.

invite de commande

(env) C:\Users\Nom d'utilisateur\web> django-admin startproject mysite

Vérifiez si cela fonctionne localement

invite de commande

(env) C:\Users\Nom d'utilisateur\web>mysite> python manage.py runserver

Allez à http://127.0.0.1:8000/ et lorsque la page suivante s'affiche, c'est OK. キャプチャ12.PNG

Paramètres IIS

Ajouter un site

Ajoutez un nouveau site. Depuis Gestion de l'ordinateur> Services Internet Définissez le chemin physique, etc. dans Site> Ajouter un site Web.

Le chemin physique définit le dossier du projet Django (dossier parent tel que manage.py). キャプチャ555.PNG

Ajout du mappage du gestionnaire Python

Défini à partir de Mappages de gestionnaires> Ajouter une mappe de script. Le fichier exécutable spécifie python.exe dans l'environnement env. キャプチャ6.PNG

paramètres wfastcgi

Déverrouiller pour utiliser wfastcgi

(env) C:\Users\Nom d'utilisateur\web\mysite>%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
Chemin de configuration"MACHINE/WEBROOT/APPHOST"Section"system.webServer/handlers"Débloqué.

Exécutez wfastcgi enable

(env) C:\Users\Nom d'utilisateur\web\mysite>wfastcgi-enable
Configurer les changements de configuration Chemin de validation"MACHINE/WEBROOT/APPHOST"de"MACHINE/WEBROOT/APPHOST"Section"system.webServer/fastCgi"Appliqué à
"c:\users\Nom d'utilisateur\web\env\scripts\python.exe|c:\users\Nom d'utilisateur\web\env\lib\site-packages\wfastcgi.py" can now be used as a FastCGI script processor

Créer web.config

Créez web.config sous le projet Django (même répertoire que manage.py). Définissez la valeur de scriptProcessor sur la valeur affichée par wfastcgi-enable.

web.config


<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
    <add key="PYTHONPATH" value="C:\Users\Nom d'utilisateur\web" />
    <add key="DJANGO_SETTINGS_MODULE" value="mysite.settings" />
  </appSettings>
  <system.webServer>
    <handlers>
        <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="c:\users\Nom d'utilisateur\web\env\scripts\python.exe|c:\users\Nom d'utilisateur\web\env\lib\site-packages\wfastcgi.py" resourceType="Unspecified" />
    </handlers>
  </system.webServer>
</configuration>

Octroi d'autorisations pour IIS

Gestion de l'ordinateur> Services d'information Internet Modifiez les autorisations de Mon site (site nouvellement créé). Ajouter l'utilisateur [Nom de l'ordinateur \ IIS_IUSRS] dans l'onglet Sécurité

De plus, dans l'Explorateur de fichiers, cliquez avec le bouton droit sur le dossier env dans C: \ Users \ username \ web> dans Propriétés Ajoutez également un utilisateur avec [nom de l'ordinateur \ IIS_IUSRS].

Contrôle de fonctionnement

Si vous sélectionnez Mon site dans Gestion de l'ordinateur> Services Internet et que la fusée vole en naviguant sur le site Web, le site Django est en cours d'exécution. キャプチャ12.PNG

Si vous obtenez une erreur

Si vous obtenez une erreur 0x800700005 ou une erreur 0x8007010b comme indiqué ci-dessous, Veuillez vérifier si le chemin d'accès Python.exe défini dans l'autorisation d'accès au fichier et le mappage du gestionnaire est approprié.

Cause: se produit lorsque le répertoire du site n'a pas accès au nom d'ordinateur \ IIS_IUSRS Solution: ajoutez des autorisations pour le nom d'ordinateur \ IIS_IUSRS キャプチャ12345.PNG

Cause: se produit lorsque vous n'avez pas accès au nom d'ordinateur \ IIS_IUSRS dans le répertoire Python.exe que vous utilisez. Solution: ajoutez des autorisations pour le nom d'ordinateur \ IIS_IUSRS キャプチャ53.PNG

La prochaine fois, j'écrirai la procédure pour changer la base de données en PostgreSQL: wave:

Recommended Posts

Déployer le didacticiel Django sur IIS ①
Déployer le projet django sur heroku
Trébucher lors du didacticiel django 1.7
Comment vérifier la version de Django
Déployer l'application Django sur Heroku [Partie 2]
Déployer l'application Django sur Heroku [Partie 1]
Django Heroku Deploy 1
Tutoriel Python Django (5)
Tutoriel Python Django (2)
Tutoriel Python Django (8)
Tutoriel Python Django (6)
Démarrer le didacticiel Django 1
Django Heroku Deploy 2
Tutoriel Python Django (7)
Tutoriel Python Django (1)
Tutoriel du didacticiel Python Django
Tutoriel Python Django (3)
Tutoriel Python Django (4)
Le moyen le plus simple de démarrer avec Django
Comment imprimer des messages de débogage sur la console Django
django geodjango auquel j'ai fait référence quand je suis resté coincé dans le tutoriel (édition)
Résumé du didacticiel Python Django
Je veux faire défiler la table de décalage Django, mais ...
Didacticiel sur les associations polymorphes Django
Comment déployer une application Django dans le cloud Alibaba
tutoriel simple django oscar
[Azure] Déployer le modèle ML créé localement dans le cloud
Lisez le fichier xml en vous référant au didacticiel Python
Définissez DateField du formulaire sur type = date dans Django
impossible d'importer django
[Django] Renommer le projet
La route vers Pythonista
Transition vers l'écran de mise à jour avec le Django a tag
Note du didacticiel Django Girls
mettre à jour django version 1.11.1 vers 2.2
Comment exécuter Django sur IIS sur un serveur Windows
Kaggle Tutorial Le savoir-faire Titanic pour être dans le top 2%
La route vers Djangoist
[Django] Comment rediriger les utilisateurs non connectés vers la page de connexion
Déployez la page de gestion en production pour faciliter la maintenance.
Comment écrire une validation personnalisée dans Django REST Framework
[Django] Transmettez l'instance utilisateur authentifiée par l'API à ModelSerializer
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
Déployez Django + React à partir de zéro vers GKE (1) Développement backend - Nginx + Django
Comment effectuer les réglages initiaux à partir de la création de projet Django
Jusqu'au début du tutoriel django avec pycharm sous Windows
Déployer Django + React de zéro sur GKE: Table des matières
Django Faites des choix uniquement pour l'établissement auquel vous appartenez
Dans Django, comment abréger la longue chaîne de caractères affichée au milieu ...
DJango Memo: depuis le début (plus de modifications sur l'écran de gestion)
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Point selon l'image
Déployer Django sans serveur avec Lambda
La route pour télécharger Matplotlib
Lancez-vous avec Django! ~ Tutoriel ④ ~
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
Fiche technique du didacticiel Python Django
Passer du texte à Django genericview
Comment utiliser le décorateur