gpt4 book ai didi

django - 在 Apache 上设置 django 的问题

转载 作者:行者123 更新时间:2023-12-01 02:54:39 24 4
gpt4 key购买 nike

这可能真的很简单。但我想我对 WSGI 和 Django 太陌生了,无法自己获得它。我在/var/www/mysite 中托管的 Ubuntu 虚拟机上有一个全新的 Shiny Django 项目。该项目是用

django-admin startproject mysite

我正在按照 WSGI 教程进行设置,因此我创建了一个 ./apache 文件夹,在其中放置了这个文件 django.wsgi:
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = '/var/www/mysite/mysite.settings'

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

然后我将此配置行添加到 Apache 配置中:
WSGIScriptAlias / /var/www/mysite/apache/django.wsgi

当我尝试访问该站点时,没有返回任何内容。连接只是挂起。这是在我的 access.log 中:
192.168.2.116 - - [15/Aug/2010:14:09:02 -500] "GET / HTTP/1.1" 500 639 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8

所以它击中了网站。但有人什么都不做。 errors.log 中没有错误。

有人有想法么?

最佳答案

原始问题中的公然错误是:

os.environ['DJANGO_SETTINGS_MODULE'] = '/var/www/mysite/mysite.settings'

需要是:
sys.path.append('/var/www')
sys.path.append('/var/www/mysite')

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

也就是说,Django 设置模块必须是 Python 包路径,而不是绝对文件系统路径。接受的答案甚至没有指出这一点,而只是给出了另一组代码来使用而没有任何解释。

此外,您需要设置 Python 模块搜索路径,即 sys.path,以便 Python 可以找到该环境变量中列出的设置文件。

最后,如果您的浏览器挂起,那么您也做错了其他事情,因为您所做的应该导致返回错误而不是浏览器挂起。 Apache 错误日志中也必须有一个错误,因此您要么找错了地方,要么不知道要查找什么。

关于django - 在 Apache 上设置 django 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488864/

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