WedX - журнал о программировании и компьютерных науках

не могу настроить odoo с apache2 mod_wsgi

У ive возникли проблемы с настройкой odoo v13 на ubunu 18.04 (apache2)

Я смог протестировать / разработать через odoo-bin, но пытался запустить его с моей локальной машины (у нас есть прокси в нашей сети, но сейчас я хочу запустить его, чтобы я мог его получить) ive настройте odoo.conf на ошибки odoo-error.log выплевывает ну какие то ошибки он действительно выплевывает. но только послеsystemctl restart apache2 он останавливается

Усеченные или увеличенные заголовки ответов, полученные от процесса-демона admin: /opt/odoo13/E-Forms/odoo/setup/odoo-wsgi.py

ive сделал все права доступа для каталогов, но что я нахожу странным с apache, так это то, что в файле ошибок по умолчанию я получаю это

Неустранимая ошибка Python: Py_Initialize: невозможно получить кодировку языкового стандарта ModuleNotFoundError: нет модуля с именем 'encodings'

и его непрерывный, что меня смущает, если я говорю виртуальному хосту, что все мои ошибки помещаются в odoo-error.log, почему error.log все еще заполняется непрерывно, но я ожидаю, что это не связано с моей проблемой

вот моя конф

    ServerName test.eforms.com
    ServerAlias test.eforms.com 127.0.0.1

    ErrorLog ${APACHE_LOG_DIR}/odoo-error.log
    CustomLog ${APACHE_LOG_DIR}/odoo-access.log combined
    LogLevel info

    <Directory /opt/odoo13/E-Forms>
        Require all granted
    </Directory>
    <Directory /opt/odoo13/E-Forms/odoo/setup>
        <Files odoo-wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess admin user=admin group=admin processes=1 python-home=/opt/odoo13/Venv/odoovenv/bin/ python-path=/opt/odoo13/E-Forms/odoo
    WSGIProcessGroup admin
    WSGIScriptAlias / /opt/odoo13/E-Forms/odoo/setup/odoo-wsgi.py
    WSGIApplicationGroup %{GLOBAL}

</VirtualHost>

вот мой odoo-wsgi.py (это копия с клонирования)

import odoo

#----------------------------------------------------------
# Common
#----------------------------------------------------------
odoo.multi_process = True # Nah!
# Equivalent of --load command-line option
odoo.conf.server_wide_modules = ['base','web']
conf = odoo.tools.config
# Path to the OpenERP Addons repository (comma-separated for
# multiple locations)
conf['addons_path'] = '/opt/odoo13/E-Forms/odoo/addons,/opt/odoo13/E-Forms/odoo/custom'
# Optional database config if not using local socket
conf['db_name'] = 'EForm'
conf['db_host'] = 'localhost'
conf['db_user'] = 'odoo'
conf['db_port'] = 5432
conf['db_password'] = 'password'
#----------------------------------------------------------
# Generic WSGI handlers application
#----------------------------------------------------------
application = odoo.service.wsgi_server.application

odoo.service.server.load_server_wide_modules()
#----------------------------------------------------------
# Gunicorn
#----------------------------------------------------------
# Standard OpenERP XML-RPC port is 8069
bind = '127.0.0.1:80'
pidfile = '.gunicorn.pid'
workers = 1
timeout = 1200

и мой apache2.conf здесь

ServerName test.eforms.com


DefaultRuntimeDir ${APACHE_RUN_DIR}


PidFile ${APACHE_PID_FILE}

Timeout 900


KeepAlive On


MaxKeepAliveRequests 100


KeepAliveTimeout 5

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}


HostnameLookups On

ErrorLog ${APACHE_LOG_DIR}/error.log


#LogLevel info

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Include list of ports to listen on
Include ports.conf



<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

AccessFileName .htaccess


<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>

LoadModule wsgi_module modules/mod_wsgi.so

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


# see README.Debian for details.


IncludeOptional conf-enabled/*.conf


IncludeOptional sites-enabled/*.conf

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Я загрузил mod_wsgi.so из источника и установил его. Ниже приведен список всех установленных пакетов APT только для apache2.

apache2 / bionic-updates, bionic-security, сейчас 2.4.29-1ubuntu4.11 amd64 [установлен] apache2-bin / bionic-updates, bionic-security, теперь 2.4.29-1ubuntu4.11 amd64 [установлен, автоматически] apache2- data / bionic-updates, bionic-updates, bionic-security, bionic-security, сейчас 2.4.29-1ubuntu4.11 все [установлено, автоматически] apache2-dev / bionic-updates, bionic-security, сейчас 2.4.29-1ubuntu4 .11 amd64 [установлен] apache2-utils / bionic-updates, bionic-security, сейчас 2.4.29-1ubuntu4.11 amd64 [установлен, автоматически] libapache2-mod-wsgi-py3 / bionic, теперь 4.5.17-1 amd64 [ установлены]

и моя точка замерзла

Babel == 2.3.4 certifi == 2019.9.11 chardet == 3.0.4 decorator == 4.0.10 Django == 2.2.6 docopt == 0.6.2 documenttils == 0.12 h11 == 0.8.1 h2 == 3.1 .1 hpack == 3.0.0 html2text == 2019.9.26 hyperframe == 5.2.0 idna == 2.8 image == 1.5.27 Jinja2 == 2.10.3 libsass == 0.19.3 lxml == 4.4.1 MarkupSafe = = 1.1.1 num2words == 0.5.10 passlib == 1.7.1 Pillow == 6.2.0 pkg-resources == 0.0.0 polib == 1.1.0 psutil == 5.6.3 psycogreen == 1.0.1 psycopg2 = = 2.8.4 psycopg2-binary == 2.8.4 pyasn1 == 0.4.7 pyasn1-modules == 0.2.7 pyldap == 3.0.0.post1 PyPDF2 == 1.26.0 python-dateutil == 2.8.0 python- ldap == 3.2.0 python-openid == 2.2.5 python-stdnum == 1.11 pytz == 2016.7 reportlab == 3.5.28 запросы == 2.22.0 rfc3986 == 1.3.2 шесть == 1.12.0 sqlparse = = 0.3.0 urllib3 == 1.25.6 Werkzeug == 0.16.0 xlwt == 1.3.0


Ответы:


1

после трех дней чесания головы я наконец обнаружил проблему, и это была эта линия

python-home = / opt / odoo13 / Venv / odoovenv / bin /

что должно быть это

python-home = / opt / odoo13 / Venv / odoovenv /

так что любой, у кого возникнут подобные проблемы в будущем, вот несколько советов

  • дважды проверьте, что ваш mod_wsgi использует ту же версию python, что и ваш virtualenv
  • убедитесь, что вы обновили все свои программные пакеты (я использую ubuntu, так что это будет подходящим)
  • убедитесь, что в wsgiprocessgroup есть все rwx для каталога и ПОДКАТАЛОГИ, в которых вы размещаете свое приложение (возможно, не пишите)
21.11.2019
Новые материалы

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


Для любых предложений по сайту: [email protected]