使用 mod_wsgi 部署 Django web 时出错(禁止:您无权访问此服务器上的 /。)

使用 mod_wsgi 部署 Django web 时出错(禁止:您无权访问此服务器上的 /。)

你好,我正在尝试在 Centos7 中使用 Apache 部署我的第一个 Django 网站

Versions: 
Apache: 2.4.6 
Django: 2.2.6
Python: 3.6.8

我的 Django 项目位于 /srv 目录内,如下所示:

/srv/
└── MyApp
    ├── apps
    │   └── index
    ├── db.sqlite3
    ├── manage.py
    ├── media
    ├── root
    │   ├── __init__.py
    │   ├── __pycache__
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    ├── static
    │   ├── css
    │   └── images
    └── venv
        ├── bin
        ├── include
        ├── lib
        ├── lib64 -> lib
        ├── pip-selfcheck.json
        └── pyvenv.cfg

我已经做过的测试:

1)如果我执行以下操作,我就能访问我的Django网站:

python manage.py runserver 0.0.0.0:80

2) 当仅使用 Apache 时,我能够看到 Apache 占位符网站。

3)我也尝试过按照本教程不使用 Django 使用 mod_wsgi(https://www.shellhacks.com/modwsgi-hello-world-example/)并且我能够让它工作(只需要替换以下内容即可使其工作):

Allow from all --> Require all granted 
Order allow,deny --> Satisfy Any

我的 Apache 配置文件位于 /etc/httpd/conf.d 中

WSGIScriptAlias / /srv/MyApp/root/wsgi.py
WSGIPythonPath /srv/MyApp

<Directory /srv/MyApp/root>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess myapp.com python-home=/srv/MyApp/root/venv python-path=/srv/MyApp
WSGIProcessGroup myapp.com

我对这一切还很陌生,我确信这可能是我没有正确设置的一些愚蠢的事情,但我已经在谷歌上搜索和测试了超过 10 个小时,但我似乎无法弄清楚这一点。

希望有人能给我一些指导。提前谢谢了。

相关内容