Запрещенный доступ к развернутому веб-сайту Django
Я развернул свой django-сайт, следуя руководству Кори Шафера (Python Django Tutorial: Deploying Your Application (Option #1) - Deploy to a Linux Server). Но у меня возникла ошибка, и я не уверен, почему.
Я запустил это:
sudo tail -f /var/log/apache2/error.log
error
Current thread 0x00007f603fccb780 (most recent call first):
<no Python frame>
[Thu Aug 15 13:12:35.962154 2024] [wsgi:warn] [pid 72344:tid 140051363968896] (13)Permission denied: mod_wsgi (pid=72344): Unable to stat Python home /home/m_user/django_site/venv. Python interpreter may not be able to be initialized correctly. Verify the supplied path and access permissions for whole of the path.
Python path configuration:
PYTHONHOME = '/home/m_user/django_site/venv'
PYTHONPATH = (not set)
program name = 'python3'
isolated = 0
environment = 1
user site = 1
import site = 1
sys._base_executable = '/usr/bin/python3'
sys.base_prefix = '/home/m_user/django_site/venv'
sys.base_exec_prefix = '/home/m_user/django_site/venv'
sys.platlibdir = 'lib'
sys.executable = '/usr/bin/python3'
sys.prefix = '/home/m_user/django_site/venv'
sys.exec_prefix = '/home/m_user/django_site/venv'
sys.path = [
'/home/m_user/django_site/venv/lib/python310.zip',
'/home/m_user/django_site/venv/lib/python3.10',
'/home/m_user/django_site/venv/lib/python3.10/lib-dynload',
]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
Я получаю это, когда запускаю ls -la
total 40
drwxr-x--- 6 m_user m_user 4096 Aug 14 23:07 .
drwxr-xr-x 3 root root 4096 Aug 14 21:04 ..
-rw------- 1 m_user m_user 1246 Aug 15 01:23 .bash_history
-rw-r--r-- 1 m_user m_user 220 Aug 14 21:04 .bash_logout
-rw-r--r-- 1 m_user m_user 3771 Aug 14 21:04 .bashrc
drwx------ 3 m_user m_user 4096 Aug 14 21:36 .cache
-rw-r--r-- 1 m_user m_user 0 Aug 14 21:04 .cloud-locale-test.skip
drwxrwxr-x 11 m_user www-data 4096 Aug 14 21:42 django_site
drwxrwxr-x 3 m_user m_user 4096 Aug 14 23:07 .local
-rw-r--r-- 1 m_user m_user 807 Aug 14 21:04 .profile
drwx------ 2 m_user m_user 4096 Aug 14 21:13 .ssh
-rw-r--r-- 1 m_user m_user 0 Aug 14 21:15 .sudo_as_admin_successful
Используя sudo nano /etc/apache2/sites-available/django_site.conf
, я попытался добавить LoadModule wsgi_module "/home/m_user/django_site/venv/lib/pythonX.X/site-packages/mod_wsgi/server/mod_wsgi-pyXY.so"
, рекомендованный на форумах. Но это не сработало... полный код ниже.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /home/m_user/django_site/static
<Directory /home/m_user/django_site/static>
Require all granted
</Directory>
Alias /media /home/m_user/django_site/media
<Directory /home/m_user/django_site/media>
Require all granted
</Directory>
<Directory /home/m_user/django_site/core>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias / /home/m_user/django_site/core/wsgi.py
WSGIDaemonProcess django_app python-path=/home/m_user/django_site python-home=/home/m_user/django_site/venv
WSGIProcessGroup django_app
LoadModule wsgi_module "/home/m_user/django_site/venv/lib/pythonX.X/site-packages/mod_wsgi/server/mod_wsgi-pyXY.so"
</VirtualHost>
Есть ли другие идеи, что я могу попробовать???? Заранее спасибо!