wsgi错误没有使用python 3.6.6,django 3,apache 2.4和mod_wsgi 4.6命名为'encodings'的模块

问题描述

我已经努力了几天,让django 3.02项目在python 3.6.6的虚拟环境中运行以与apache 2.4.38和mod_wsgi(libapache2-mod-wsgi-py3 4.6.5- 1)。

当我尝试加载网站主页时,出现超时错误。 apache错误日志显示

Current thread 0x00007fdb2c0be480 (most recent call first):
[Fri Sep 18 09:44:48.940142 2020] [core:notice] [pid 31276] AH00052: child pid 31480 exit signal Aborted (6)
[Fri Sep 18 09:44:48.942385 2020] [core:notice] [pid 31276] AH00052: child pid 31481 exit signal Aborted (6)
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

我在Google上遇到了此错误,并尝试了提出的不同解决方案,但没有任何效果

我的apache配置文件(从mod_wsgi文档中复制并进行了一些修改):

<VirtualHost *:80>

    ServerName archive.phillipsoasis.com
    ServerAlias xxx.xxx.xxx.xxx - obfuscated to protect the innocent
    ServerAdmin [email protected] - obfuscated to protect the innocent

    DocumentRoot /var/www/memorabilia-JSON

    Alias /robots.txt /var/www/memorabilia-JSON/venv/lib/python3.6/site-packages/tornado/test/static/robots.txt
    Alias /favicon.ico var/www/memorabilia-JSON/MemorabiliaJSON/static/default_images/favicon.ico


    Alias /static  /var/www/memorabilia-JSON/MemorabiliaJSON/static/
    <Directory /var/www/memorabilia-JSON/MemorabiliaJSON/static>
        Require all granted
    </Directory>


    Alias /media  /var/www/memorabilia-JSON/MemorabiliaJSON/media/
    <Directory /var/www/memorabilia-JSON/MemorabiliaJSON/media>
        Require all granted
    </Directory>

    WsgiDaemonProcess archive.phillipsoasis.com processes=2 threads=15 \
        python-path=/var/www/memorablia-JSON/ \
        python-home=/var/www/memorabilia-JSON/venv/
    WsgiProcessGroup archive.phillipsoasis.com

    WsgiScriptAlias / /var/www/memorabilia-JSON/MemorabiliaJSON/wsgi.py


    <Directory /var/www/memorabilia-JSON/MemorabiliaJSON>
        Require all granted
    </Directory>

    LogLevel debug
    ErrorLog ${APACHE_LOG_DIR}/archive/error.log
    CustomLog ${APACHE_LOG_DIR}/archive/access.log combined

</VirtualHost>

我的/var/www/memorabilia-JSON/MemorabiliaJSON/wsgi.py文件(来自django安装的纯香草):

import os,sys

os.environ.setdefault("DJANGO_SETTINGS_MODULE","MemorabiliaJSON.settings.swordfish")

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

基于此,我在apache2.conf文件的末尾添加了WsgiApplicationGroup%{GLOBAL}

我的项目在/ var / www / memorabilia-JSON,而我的虚拟环境在/ var / www / memorabilia-JSON / venv。当我激活虚拟环境并使用runserver加载项目时,它可以工作。由于我是从开发服务器上部署此项目的,因此我可以肯定实际的项目python代码以及虚拟环境都可以正常工作。

我已阅读在基于debian的服务器上安装的python 2.7、3.6.6和3.7。在此系统上使用python 3.6.6创建了虚拟环境。我还在运行Ubuntu 18.04的开发计算机上的虚拟环境中运行python 3.6.6。

尝试了我在Internet上找到的所有各种解决方案5天后,我很沮丧。感谢您提供的任何帮助!

标记

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)