【问题标题】:Unable to connect to django 1.11 web app on Apache server无法连接到 Apache 服务器上的 django 1.11 Web 应用程序
【发布时间】:2018-01-02 20:11:24
【问题描述】:

我不是 Django 专家。我能够在我的本地机器上很好地运行该应用程序。我想在我们的内部服务器上部署这个应用程序。 我正在使用的版本:Python:2.7,Django 1.11,Apache:2.4 开放端口:9991

当我从任何机器访问端口时,它不会给我任何错误。例如xxx.xx.xxx.xxx:9991 显示 Apache 页面。

但是当我将 URL 添加到应用程序时 xxx.xx.xxx.xxx:9991/WebApp1Url 它给出了错误。 下面是我对httpd.conf的配置

Listen 9991
<VirtualHost *:9991>
Alias /static "C:/xxx/DjangoSite/WebApps/WebApp1/static"
<Directory "C:/xxx/DjangoSite/WebApps/WebApp1/static">
Require all granted
</Directory>

<Directory "C:/xxx/DjangoSite/WebApps/WebApps">
<Files wsgi.py>
 Require all granted
</Files>
</Directory>
</VirtualHost>

下面是我的wsgi.py:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "WebApps.settings")
application = get_wsgi_application()
from WebApp1.wsgi import WebApp1
application = WebApp1(application)

settings.py 包含:

WSGI_APPLICATION = 'WebApps.wsgi.application'

我可以保证 static 和 wsgi.py 的路径是正确的。我无法弄清楚什么是不对的。有人可以提供有关缺少哪个步骤的指示吗?任何帮助表示赞赏。请原谅上面的任何错别字。提前谢谢你。

【问题讨论】:

  • 访问xxx.xx.xxx.xxx:9991/WebApp1Url时出现什么错误?
  • 在此服务器上找不到请求的 URL
  • 您似乎没有 wsgiscriptalias 来为您的实际站点提供服务。

标签: python django apache


【解决方案1】:

任何问题的第一站,无论是新用户还是经验丰富的用户,都应该是 Django 非常详细、广泛、最新的版本化文档。甚至还有deploying a Django project with Apache HTTPD 的部分。

下面引用了一些内容,但范围很广:

  1. 使用 mod_wsgi 安装 Apache HTTPD(在 Windows 上安装模块可能是最困难的部分,mod_wsgi 文档链接到 this guide
  2. 将 WSGI 指令添加到 conf 文件中

official mod_wsgi documentation 是有关如何使用 mod_wsgi 的所有详细信息的来源。您可能希望从 installation and configuration documentation 开始。

基本配置

安装并激活 mod_wsgi 后,编辑 Apache 服务器的 httpd.conf 文件并添加以下内容。如果您使用的 Apache 版本早于 2.4,请将 Require all granted 替换为 Allow from all 并在其上方添加行 Order deny,allow

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonHome /path/to/venv
WSGIPythonPath /path/to/mysite.com

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

【讨论】:

  • 感谢 Nick T。我正在尝试安装 mod_wsgi。那里面临一些问题,因为我无法控制安装的 Apache 版本。我会尝试其余的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多