python - Apache 在我的 django 应用程序中使用 mod_wsgi 显示 404 错误

标签 python django apache

对于我的 django 应用程序(称为“iwidget”),我创建了(并使用 a2ensite 安装)此虚拟主机配置文件 (001-default)

WSGIPythonHome /home/user/.virtualenvs/iwidget

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        WSGIDaemonProcess iwidget processes=4 threads=10 display-name=%{GROUP} python-path=/home/user/.virtualenvs/iwidget/lib/python2.7
        WSGIProcessGroup iwidget

        WSGIScriptAlias /iwidget /home/user/iwidget/iwidget/wsgi.py
        Alias /iwidget/static/ /home/user/iwidget/iwidget/staticfiles/
<VirtualHost>

这是我的 wsgi.py (位于 /home/user/iwidget/iwidget/ 目录中。)

import os, sys, site                                                   

site.addsitedir('/home/user/.virtualenvs/iwidget/lib/python2.7/site-packages')
activate_this = os.path.expanduser("/home/user/.virtualenvs/iwidget/bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))                  

sys.path.append('/home/user/iwidget')                              
sys.path.append('/home/user/iwidget/iwidget')                      

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

但是,我收到此错误

[warn] mod_wsgi: Compiled for Python/2.7.2+.
[warn] mod_wsgi: Runtime using Python/2.7.3.
[notice] Apache/2.2.22 (Debian) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[error] File does not exist: /var/www/iwidget

/var/www/iwidget? Apache 为什么要在这个目录中查找?我做错了什么?

注意。已经有一个运行良好的默认虚拟主机配置指向。这是我的第二个(这就是为什么我将其称为 001-default)。

最佳答案

您有两个配置文件,但无法区分它们。 Apache 将简单地将所有内容与原始内容进行匹配,因为它是按字母顺序排列的第一个,并且永远不会找到新的 - 这就是为什么它在/var/www 中查找,因为这显然是 001-default 中设置的 DocumentRoot。

您真的需要将其放在单独的文件中吗?您没有理由不能在 001-default 中添加此配置。否则,您需要将它们放在单独的端口上,或者使用 ServerName 指令来区分它们。

关于python - Apache 在我的 django 应用程序中使用 mod_wsgi 显示 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32841071/

相关文章:

Python:两次时间之差的符号

django - 通过 Nginx 和 SEO 优化提供不会过期的内容

php - 安装wamp后无法加载phpmyadmin

regex - 用于更新 ssl.conf 中 SSL 证书文件路径的 Bash 脚本(RegEx 单词与 # 匹配)

regex - 解释这个mod_rewrite规则

python - 如何按行而不是列对数据框进行排序?

python - 类型错误 : __init__() takes at least 2 arguments (1 given) error

python - 带数学运算符的递归函数

带有 S3 的 django 存储,给客户端完整的或相对的 URL?

python - 我如何在 django 中进行此查询? (聚合/注释)