Развертывание проекта Django с помощью Pyinstaller и Apache - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу развернуть проект Django для локального запуска на компьютерах пользователей.

Я рассмотрел, какие веб-серверы можно использовать для запуска проекта и как он будет работать в среде Windows, только я пытался использовать IIS и Apache (WAMP).Проект Django прекрасно работает в режиме разработки (runserver).Он также отлично работает на обоих веб-серверах при использовании некомпилированной версии кода.

Проблема возникает, когда я пытаюсь упаковать проект с помощью Pyinstaller.Поскольку это создает .exe, я должен изменить способ, которым веб-серверы запускают проект.

В IIS это на самом деле нормально работает с использованием wfastcgi, я просто делаю wfastcgi в качестве цели сборки Pyinstaller и настраиваю IIS для запуска этого .exe.Однако IIS требует настройки нескольких дополнительных параметров, и я изо всех сил пытался найти способ их автоматической настройки, поэтому вместо этого я попытался использовать Apache.

Как уже упоминалось, Apache отлично работает, просто используя исходный код и wsgi.py.Пример того, что у меня есть в моем файле httpd.conf, приведен ниже.

# Apache httpd.conf settings
LoadModule wsgi_module "C:/Program Files (x86)/Python36-32/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win32.pyd" 
WSGIScriptAlias / "C:/mysite/wsgi.py" 
WSGIPythonHome "c:/Program Files (x86)/python36-32" 
WSGIPythonPath "C:/mysite"

Alias /static/ "C:/mysite/static/"

<Directory "C:/mysite/static">
    Require all granted
</Directory>

<Directory "C:/mysite">
    <Files wsgi.py>
        Require all granted
    </files>
</Directory>

Теперь мне нужно, чтобы Apache запустил упакованную версию проекта, и вот где я застрял.Я попытался построить проект, используя wsgi.py в качестве цели, все службы Apache запускаются, но при попытке получить доступ к сайту возвращает страницу с «500 Internal Server Error».

Итак, мой вопрос: можете ли вы настроить Apache для запуска файла .exe, а не .py, для запуска Python веб-сайта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...