Как разместить Django1.3.1 в Apache2.2?

Я использую Python 2.7.2,Django 1.3.1, Apache 2.2.22 на WindowsXP(win32). По документации, которую я нашел здесь, я сделал шаг за шагом, но когда дается раздел каталога

   `Alias /media/ C:/Programs/TestDjango/mysite/media/
    <Directory C:/Programs/TestDjango/mysite/media/>
    Order deny,allow
    Allow from all
    </Directory>
    WSGIScriptAlias / C:/Programs/TestDjango/mysite/apache/django.wsgi
    <Directory C:/Programs/TestDjango/mysite/apache>
    Order deny,allow
    Allow from all
    </Directory>`

и перезапустил Apache. При открытии localhost/mysite я получаю сообщение об ошибке времени выполнения библиотеки Microsoft Visual C++, и в журнале ошибок Apache отображается сообщение "Ошибка при неправильной настройке при рендеринге: ошибка при загрузке модуля pyodbc: сбой загрузки DLL: процедура инициализации библиотеки динамических ссылок (DLL)" Ошибка. ".... Мое приложение Django работает в WAMP, но я хочу знать, где я ошибся, используя только Apache2.2.22. Следовал многим документациям на Django, но всё так же. Пожалуйста, помогите мне найти, где я ошибся. Спасибо

(Идентификация была исправлена ​​Геттли)

2 ответа

Решение

Я понял это, это была проблема с версией, так как я работал с Apache 2.2.21 вместо Apache 2.2.22, он работает. я следовал за шагом в этой ссылке.

Установите Python 2.7.2, Django 1.3.1 и Apache2.2.21. Установите модуль modwsgi.

Файл модуля будет иметь имя что-то вроде mod_wsgi-win32-ap22py26-2.6.so get mod_wsgi.

Скопируйте его в каталог модулей установки Apache. Например, C:/Program Files/Apache Software Foundation/Apache2.2/modules.

Переименуйте его в mod_wsgi.so. Щелкните правой кнопкой мыши -> Свойства щелкните Разблокировать и применить

Откройте файл Apache http.conf.

Добавьте строку LoadModule wsgi_module modules/mod_wsgi.so перед всеми другими записями LoadModule.

Сконфигурируйте Apache для своего проекта Django, добавив в конец http.conf следующее:

# Static content
    Alias /media/ C:/Programs/TestDjango/mysite/media/

    <Directory C:/Programs/TestDjango/mysite/media/>
    Order deny,allow
    Allow from all
    </Directory>

# Django dynamic content

    WSGIScriptAlias / C:/Programs/TestDjango/mysite/apache/django.wsgi

    <Directory C:/Programs/TestDjango/mysite/apache>
    Order deny,allow
    Allow from all
    </Directory>`

Где icardtest является корнем проекта Django. Пути ниже icardtest будут специфичны для вашего проекта. Эта конфигурация обслуживает все статические носители через пространство URL /media/, а все остальные - через WSGI и Django. Создайте файл django.wsgi и добавьте в него следующее:

      ` import os
        import sys

        sys.path.append('C:/Programs/TestDjango')
        os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

        import django.core.handlers.wsgi
        application = django.core.handlers.wsgi.WSGIHandler()`

Перезапустите Apache.

Ваша ошибка связана с настройкой Python, а не с Apache.

Error loading pyodbc module: DLL load failed: A dynamic link library (DLL) initialization routine failed.

Это означает, что Python, который вы используете с Apache, не может загрузить pyodbc модуль. Как только вы исправите эту ошибку, вы можете продолжить.

Другие вопросы по тегам