Я настроил Apache для работы с моим приложением Django, используя модуль mod_wsgi
. Вот содержание /etc/apache2/sites-enabled/yaraweb.conf
:
<VirtualHost my_server_ip:port>
DocumentRoot /var/www/YaraWeb
Alias /static /var/www/YaraWeb/yara/static
<Directory /var/www/YaraWeb/yara/static>
Require all granted
</Directory>
<Directory /var/www/YaraWeb/YaraWeb>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess YaraWeb python-home=/var/www/YaraWeb/venv python-path=/var/www/YaraWeb
WSGIProcessGroup YaraWeb
WSGIScriptAlias / /var/www/YaraWeb/YaraWeb/wsgi.py
И структура /var/www/YaraWeb
выглядит следующим образом:
/var/www/YaraWeb
│ manage.py
│
└───venv
│ │ bin
│ │ include
│ │ lib
│ │ pip-selfcheck.json
| | share
│
└───yara => django app
| │ admin.py
| │ apps.py
│ | forms.py
│ | __init__.py
| │ main.py
| │ migrations
│ | models.py
│ | static
| │ templates
│ | urls.py
│ | views.py
│
└───YaraWeb
│ __init__.py
│ settings.py
| urls.py
| wsgi.py
Все работает нормально, сервер работает, но проблема в том, что при регистрации текущего рабочего каталога в моих кодах внутри views.py
возвращается /var/www
, но я ожидаю, что он будет /var/www/YaraWeb/
. Другими словами, мне нужен этот фрагмент кода Python для печати /var/www/YaraWeb/
:
import os
print(os.getcwd()) # actually prints /var/www/
В серверных кодах широко используются относительные пути для создания каталогов. Используя относительные пути, разработчик предположил, что все созданные каталоги создаются внутри папки проекта, т.е. /var/www/YaraWeb/
, но при текущей настройке Apache все относительные пути пытаются создать каталог внутри /var/www/
, что может привести к перезаписи существующих файлов из других проектов. , Есть ли настройка Apache, которая может изменить это поведение?