问题描述
我已经努力了几天,让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 (将#修改为@)