Размещение веб-приложения Django в качестве приложения на существующем сайте

Я разместил веб-приложение django на IIS с помощью wfastcgi, и оно успешно работало при размещении в качестве нового веб-сайта с использованием приведенных ниже деталей конфигурации. Что мне нужно сделать по-другому в этих конфигурациях, если я хочу разместить это приложение в качестве приложения на существующем сайте IIS на производстве. Я попробовал скопировать саму конфигурацию и поместить ее в корень приложения IIS, но обнаружил ошибку 500 - внутренняя ошибка сервера. Пользователь IIS уже имеет права на чтение, выполнение и редактирование папки app.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
        <handlers>
            
            <add name="WSGIHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\pathtopython\Scripts\python.exe|C:\pathtowfastcgi\Scripts\wfastcgi.py" resourceType="Unspecified" />
        </handlers>
        <rewrite>
            <rules>
            
                <rule name="Django" stopProcessing="true">
                    <match url=".*" />
                    <action type="Rewrite" url="http://localhost:8000/{R:0}" />
                </rule>
                    
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

При размещении веб-приложения Django в качестве приложения на существующем сайте IIS есть несколько соображений и изменений, которые необходимо внести в конфигурацию, чтобы она корректно работала в контексте существующего сайта. Вот основные шаги и изменения:

  1. Путь приложения и конфигурация обработчика:

    Убедитесь, что путь приложения правильно задан в обработчике и что он указывает на правильные скрипты Python и wfastcgi.py.

    .
  2. Правила перезаписи, специфичные для приложения:

    Измените правила перезаписи с учетом пути приложения и убедитесь, что URL-адреса правильно переписаны в контексте существующего веб-сайта.

  3. Разрешения и область конфигурации:

    Убедитесь, что приложение IIS имеет необходимые разрешения, а область конфигурации правильная.

Вот пример конфигурации, приспособленной для размещения в качестве приложения на существующем веб-сайте:

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
   <system.webServer>
    <handlers>
        <!-- Adjust the path to your Python and wfastcgi.py scripts accordingly -->
        <add name="WSGIHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\pathtopython\Scripts\python.exe|C:\pathtowfastcgi\Scripts\wfastcgi.py" resourceType="Unspecified" />
    </handlers>
    <rewrite>
        <rules>
            <!-- Ensure the URL rewrite rule points to the correct port and respects the application path -->
            <rule name="Django" stopProcessing="true">
                <match url=".*" />
                <!-- Adjust the URL rewrite action to point to the application's local server address -->
                <action type="Rewrite" url="http://localhost:8000/{R:0}" />
            </rule>
        </rules>
     </rewrite>
    </system.webServer>
  </configuration>
Вернуться на верх