Сервер больше не распознает python virtualenv - PullRequest
0 голосов
/ 25 апреля 2019

У меня развернуто приложение Django на сервере Centos 7. Я столкнулся с проблемами, когда git вытащил из моего хранилища. Он не распознает питон-дом в том месте, где мой virtualenv больше не существует.

Когда я print(sys.prefix), он показывает '/ usr', но когда я активирую свой virualenv (source /path/to/virtualenv/bin/activate), он показывает правильный путь, который назначен python-home в моем файле httpd .conf

.conf file

Alias /static /var/www/ek/static
<Directory /var/www/ek/static>
    Require all granted
</Directory>

<Directory /var/www/ek/new>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIApplicationGroup %{GLOBAL}
WSGIDaemonProcess ek python-path=/var/www/ek python-home= /var/www/kpi_env
WSGIProcessGroup ek
WSGIScriptAlias / /var/www/ek/new/wsgi.py

Я не совсем уверен, в чем проблема, когда я не в моем virtualenv, должен ли префикс быть путем к virtualenv? print(sys.prefix) должен показывать var/www/kpi_env только когда я в virtualenv?

Что бы это ни было, оно больше не распознает python-home=/var/www/kpi_env.

Когда я изменяю его на python-home = /usr, он работает, но приложение выдает мне ошибки, с которыми я никогда не сталкивался на моем сервере или на моей рабочей станции. Эта ошибка Permission denied is Server running on host 12.0.0.1 and accepting tcp con on port 5432 Это относится к postgresql, и я уверен, что он работает и принимает tcp-соединение через порт 5432. И что мои settings.py отражают правильные конфигурации. Я не менял никаких конфигураций с изменениями с помощью git pull и вообще не касался конфигов для postgresql, так что я могу только думать, что это из-за используемой им библиотеки python, потому что это единственное, что изменилось.

Как мне заставить мой httpd сервер снова распознавать python-home= /var/www/kpi_env?

1 Ответ

0 голосов
/ 29 апреля 2019

Это не совсем отвечает на то, что я спросил, но это был обходной путь, который я сделал:

Я выполнил эту команду, чтобы разрешить моему httpd-серверу принять соединение с моей базой данных postgresql,

setsebool -P httpd_can_network_connect_db 1

-P сделает это навсегда, а 1 включит его.

И в этом я использовал python-home = /usr, так как я больше не мог заставить свой virtualenv работать

...