gpt4 book ai didi

django - 通过 WSGI 将 Django 项目部署到 Apache 时出现问题

转载 作者:行者123 更新时间:2023-12-02 05:55:29 25 4
gpt4 key购买 nike

Ubuntu 14.04.4 和Django 1.10

我正在尝试通过 WSGI 部署一个简单的 Django 应用程序,该应用程序在 Apache 开发中完美运行。我的 Apache 配置文件中的相关位:

<VirtualHost [my IP]>
WSGIScriptAlias /Django/MedFormUpdates /home/web/inside/django/MedFormUpdates/MedFormUpdates/wsgi.py
WSGIApplicationGroup %{GLOBAL}
</VirtualHost>

WSGIPythonPath /home/web/inside/django/MedFormUpdates/MedFormUpdates

<Directory "/home/web/inside/django/MedFormUpdates/MedFormUpdates">
Options ExecCGI
<Files wsgi.py>
Require all granted
</Files>
</Directory>

在我的 wsgi.py 文件中:

import os, sys
from django.core.wsgi import get_wsgi_application

sys.path.append('/home/web/inside/django')
sys.path.append('/home/web/inside/django/MedFormUpdates')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MedFormUpdates.settings")

application = get_wsgi_application()

在我的settings.py中:

WSGI_APPLICATION = 'MedFormUpdates.wsgi.application'

当我尝试加载页面时,我收到“我们很抱歉,Web 服务器出现内部错误。” - Apache 日志显示

End of script output before headers: wsgi.py

我已经浏览了我能找到的每一个 Django/WSGI/Apache 线程,这让我发疯。任何见解都值得赞赏。谢谢。

最佳答案

事实证明,我们在/etc/apache2/conf-enabled 目录中有另一个 Apache 配置文件,它具有以下设置,它将 Python 脚本(以及 Perl 和 CGI​​)绑定(bind)到 CGI:

AddHandler cgi-script .cgi .pl .py

这对于我们生产中的许多其他东西来说是必要的。为了排除我的项目,在我的 Apache 配置文件中我删除了

Options ExecGI

而是放置

RemoveHandler .py

现在页面显示得很好。

关于django - 通过 WSGI 将 Django 项目部署到 Apache 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39277780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com