你好,我正在尝试在 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 个小时,但我似乎无法弄清楚这一点。
希望有人能给我一些指导。提前谢谢了。