带有 httpd 和 mod_wsgi 的 Django 站点:403 禁止访问

带有 httpd 和 mod_wsgi 的 Django 站点:403 禁止访问

我花了一整天的时间试图找到问题的答案,但失败了,于是决定在这里发布我的问题。所以我开发了一个 Django 应用程序,现在在将其部署到 apache (httpd) 服务器时遇到了问题。如果相关的话,我目前正在运行 CentOS 7.2。

我一直在遵循该教程来做我想做的事情:https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-centos-7

显然,我没有从头开始创建新项目,因为我已经有一个项目,只是对其进行了调整以适应本教程。完成并重新启动 httpd 服务后,尝试访问该网站时收到以下错误消息:

Forbidden
You don't have permission to access / on this server.

这不是防火墙问题,因为当我删除 django.conf(即恢复更改)时,会显示默认的 apache 站点。

我的 django.conf 文件如下所示:

Alias /static /home/dudu/DjangoProject/mysite/static
<Directory /home/dudu/DjangoProject/mysite/static>
  Require all granted
</Directory>

<Directory /home/dudu/DjangoProject/mysite>
  <Files wsgi.py>
    Require all granted
  </Files>
</Directory>

WSGIDaemonProcess DjangoProject python-path=/home/dudu/DjangoProject:/home/dudu/DjangoProject/DjangoProjectEnv/lib/python2.7/site-packages
WSGIProcessGroup DjangoProject
WSGIScriptAlias / /home/dudu/DjangoProject/mysite/wsgi.py

相关文件夹结构:

/home/dudu/
|--DjangoProject
|      |--manage.py
|      |--db.sqlite3
|      |--DjangoProjectEnv (with python environment)
|      |--mysite
|      |   |--settings.py
|      |   |--wsgi.py
|      |   |--other related django files

此外,在我的 settings.py 的底部,我还有以下内容:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')

我的wsgi.py文件如下:

import os
from django.core.wsgi import get_wsgi_application
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings" # had os.environ.setdefault before
application = get_wsgi_application()

我希望我已经包含了所有必要的信息,并希望您能够提供帮助!提前谢谢您!

相关内容