IIS10 implementa Django

medioambiente:

Python3.10

Django4.0.3

IIS10

WindowsServer2019

1. Instalar IIS

Como se muestra en la figura a continuación, verifique e instale CGI y elija otras opciones.Este tutorial requiere cierta base de IIS.

Figura 1

2. Asigne el código original del proyecto, Django no necesita compilar

Copie el proyecto al servidor C:\inetpub\wwwroot\, mi nombre de proyecto es djangodome, entonces el directorio del proyecto es C:\inetpub\wwwroot\djangodome, es decir mang.py está en C:\inetpub\wwwroot\ djangodome abajo, como se muestra a continuación

Nota: Después de copiar al servidor, debe poder iniciar django normalmente a través del comando manage.py runserver, es decir, todas las dependencias requeridas por el proyecto que necesita instalar django

Puede generar el archivo requirements.txt en la máquina de desarrollo y ejecutarlo en el servidor. El comando es el siguiente

#安装支持
pip install pipreqs
#生成
pipreqs . --encoding=utf8 --force
#安装依赖
pip install -r requirements.txt

 Figura II

 Luego instale pip intsall wfastcgi en el servidor (la instalación de cmd servirá)

Copie el archivo wfastcgi.py instalado en el directorio raíz de django que necesita implementar, como se muestra en la Figura 2.
La ubicación de wfastcgi.py está en los paquetes lib\site de su python, encuéntrela usted mismo.

3. IIS agregar sitio web

La ruta física se selecciona al directorio raíz de django, el puerto se configura solo, uso 80

Después de que la adición sea exitosa, el archivo de configuración web.config se creará en el directorio raíz, como se muestra a continuación.

Nota: Los archivos de configuración no son necesariamente los mismos, los he borrado y modificado de acuerdo a la situación actual.

Para la configuración completa, consulte el sitio web oficial: https://pypi.org/project/wfastcgi/ https://pypi.org/project/wfastcgi/

PYTHONPATH: El directorio raíz del proyecto

DJANGO_SETTINGS_MODULE: nombre del proyecto (representa el archivo setting.py del proyecto)

WSGI_LOG: directorio de salida de registro, recuerde crear wsgi.log en el directorio raíz

 <add name="cgihandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.exe|C:\inetpub\wwwroot\djangodome\wfastcgi.py" resourceType="Unspecified" />

El scriptProcessor en la etiqueta <add anterior: requiere 2 direcciones, una es la dirección de python.exe, la otra es la dirección de wfastcgi , separada por "|", y wfastcgi.py acaba de copiarse en el directorio raíz.

<configuration>
  <appSettings>
    <!-- Required settings -->
    <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
    <add key="PYTHONPATH" value="C:\inetpub\wwwroot\djangodome" />
    <add key="DJANGO_SETTINGS_MODULE" value="djangoProject.settings" />

    <!-- Optional settings -->
    <add key="WSGI_LOG" value="C:\inetpub\wwwroot\djangodome\wsgi.log" />
    <add key="WSGI_RESTART_FILE_REGEX" value=".*((\.py)|(\.config))$" />
  </appSettings>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
        <directoryBrowse enabled="true" />
        <handlers>
            <add name="cgihandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.exe|C:\inetpub\wwwroot\djangodome\wfastcgi.py" resourceType="Unspecified" />
        </handlers>
    </system.webServer>
</configuration>

4. Inicie FastCgi

Abra este sitio en IIS

 Luego seleccione cgihandler, este es el controlador recién configurado en web.config, asegúrese de hacer clic en Aceptar para iniciar FastCgi.

luego haga clic en Aceptar

5. Reinicie este sitio en IIS, visítelo y pruébelo, puede ver la interfaz, pero no hay estilo

Si no hay estática en el directorio raíz, cree estática en el directorio raíz. El proyecto Django predeterminado tiene este directorio y luego ejecute el siguiente comando en el proyecto

#收集静态文件到static
python manage.py collectstatic

Y agregue los siguientes archivos de configuración en estático. Si hay carpetas dinámicas, agréguelas también. Por ejemplo, también tengo una carpeta de medios para cargar archivos, vea la Figura 2

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
      <!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
      <handlers>
        <clear/>
   <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
     </handlers>
   </system.webServer>
</configuration>

Finalmente, resuelva el error, si tiene las siguientes situaciones, inténtelo usted mismo.

1. Sin estilo usando complementos de terceros: debe configurar el directorio raíz

# 静态资源文件配置
STATIC_URL = 'static/'  # 静态资源的路由
#STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)  # 静态资源的路径配置
STATIC_ROOT = os.path.join(BASE_DIR, 'static')  # 指定样式收集目录

luego ejecutar

python manage.py collectstatic

2. Todo lo anterior ha cambiado: todavía no hay estilo, recuerde configurar (el valor predeterminado es Verdadero) DEBUG = Verdadero de configuración.py

3. Al acceder a 403, recuerde establecer ALLOWED_HOSTS en setting.py en [] de forma predeterminada

ALLOWED_HOSTS = ['127.0.0.1', 'localhost', 'jike.xiaoxingbobo.top']

4. Usando la implementación del entorno virtual, el uso de la implementación del entorno virtual solo cambia el entorno de ejecución, pero el directorio del proyecto todavía está allí

En la actualidad, todavía hay algunos problemas en el entorno virtual, inténtelo usted mismo.

#安装
pip install virtualenv
pip install virtualenvwrapper-win
#创建虚拟环境
mkvirtualenv djangodome#djangodome虚拟环境名
#cmd查看虚拟环境
workon
#进入虚拟环境
workon djangodome

El directorio del entorno virtual es: C:\Users\Administrator\Envs\djangodome

Después de entrar en el entorno virtual

1. Instalar wfastcgi

2. Instala las dependencias del proyecto django, los pasos son los mismos que en el punto 2 anterior

Puede ejecutar el siguiente comando en el entorno virtual para ingresar al directorio del proyecto django para realizar la instalación.Las operaciones en el entorno virtual están todas instaladas en el entorno virtual.

Como se muestra en la figura a continuación, ya instalé el mío (djangoProject en la captura de pantalla sigue siendo el djangodome anterior, solo cambié un nombre, modifíquelo de acuerdo con su situación real)

3. Cambiar el archivo de configuración del proyecto web.config (el proyecto sigue siendo C:\inetpub\wwwroot\), es decir, cambiar el entorno python al entorno python en el entorno virtual

<system.webServer>
        <httpErrors errorMode="Detailed" />
        <directoryBrowse enabled="true" />
        <handlers>
            <add name="cgihandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Users\Administrator\Envs\djangodome\Scripts\python.exe|C:\inetpub\wwwroot\diangodome\wfastcgi.py" resourceType="Unspecified" />
        </handlers>
    </system.webServer>

Supongo que te gusta

Origin blog.csdn.net/baidu_39105563/article/details/124284681
Recomendado
Clasificación