Virtualenv, WSGI Daemon erorr. разрешение отклонено: mod_wsgi, uid - PullRequest
1 голос
/ 07 февраля 2020

Я проверил некоторые похожие проблемы. пример) mod_wsgi не может подключиться к процессу демона WSGI
, но он, по крайней мере, не работает для моей проблемы.
Моя ошибка та же, что и у ссылки.

(13)Permission denied: mod_wsgi (pid=6402): Unable to connect to WSGI daemon process 'djangoServer' on '/etc/httpd/run/wsgi.6399.0.1.sock' as user with uid=99.

Поэтому я вставляю socket-user=#99, но это не работает. user=#99 group=#99 также не удалось разрешить.


Система имеет Centos7, python2 .7.5, apache2.4.6
А Virtualenv - это django приложение 3.0.3, python 3.6.8

Мой django .conf равен

# WSGISocketPrefix /var/run/wsgi

<VirtualHost *:80>
  DocumentRoot /usr/rest_auth
  ServerName djangoServer

  WSGIDaemonProcess djangoServer user=#99 group=#99 python-path=/usr/myvenv/lib/python3.6/site-packages
  WSGIProcessGroup djangoServer
  WSGIScriptAlias / /usr/rest_auth/rest_auth/wsgi.py

  <Directory "/usr/rest_auth/rest_auth">
    <Files wsgi.py>
      Require all granted
    </Files>
  </Directory>

  Alias /assets/ /usr/rest_auth/static/
  <Directory /usr/rest_auth/static>
    Allow from all
  </Directory>
</VirtualHost>

, а wsgi.py равен

import os, sys

from django.core.wsgi import get_wsgi_application

path= os.path.abspath(__file__+'/../..')
if path not in sys.path:
    sys.path.append(path)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rest_auth.settings")

application = get_wsgi_application()

Я пытался решить эту проблему по этой ссылке. https://modwsgi.readthedocs.io/en/develop/configuration-directives/WSGISocketPrefix.html

Первый ход, я использовал WSGISocketPrefix внутри <VirtualHost></VirtualHost>
apache скажем, WSGISocketPrefix не может использовать в VirtualHost.

Поэтому я переместил WSGISocketPrefix за пределы VirtualHost.
Таким образом, я получил больше ошибок, чем пользователь сокета, и я думаю, что это вызвано проблемой версии sqlite.
Это журнал ошибок последней строки.
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

Я думаю, что Ошибка версии sqlite была вызвана использованием WSGISocketPrefix вне VirtualHost. Я думаю, что это игнорирует мою среду.


Если это была проблема с chmod, вы можете сказать, какой каталог следует изменить? Я уже попробовал некоторые каталоги.


Спасибо, что прочитал мою проблему и дал совет.
Это первое сообщение о переполнении стека, и я думаю, что техника написания сделает ошибку. (Я использовал Google Переводчик ...) Пожалуйста, поймите.

...