Python apache2错误日志。致电';site.addsitedir()和#x27;对于'失败;(空)和#x27;,停止
我想在Ubuntu中连接Python和Apache2服务器 所以aws必须在ubuntu服务器上输入以下代码Python apache2错误日志。致电';site.addsitedir()和#x27;对于'失败;(空)和#x27;,停止,python,django,apache,amazon-web-services,wsgi,Python,Django,Apache,Amazon Web Services,Wsgi,我想在Ubuntu中连接Python和Apache2服务器 所以aws必须在ubuntu服务器上输入以下代码 pip install Django sudo apt-get install appache2 sudo apt-get install libapache2-mod-wsgi-py3 然后我创建了Python项目和app文件夹pythonvenv Apache 2000-default.conf的代码如下所示: <virtualhost *:80> WSGIDaem
pip install Django
sudo apt-get install appache2
sudo apt-get install libapache2-mod-wsgi-py3
然后我创建了Python项目和app文件夹pythonvenv
Apache 2000-default.conf的代码如下所示:
<virtualhost *:80>
WSGIDaemonProcess bot python-path=/home/ubuntu/Django/bot:/home/ubuntu/Django/myvenv/lib/python3.5/site-packages
ServerAdmin webmaster@localhost
WSGIScriptAlias /52.78.108.223 /home/ubuntu/Django/bot/wsgi.py
<Directory /home/ubuntu/Django/bot>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>
WSGIDaemonProcess bot python path=/home/ubuntu/Django/bot:/home/ubuntu/Django/myvenv/lib/python3.5/site-packages
服务器管理员webmaster@localhost
WSGIScriptAlias/52.78.108.223/home/ubuntu/Django/bot/wsgi.py
要求所有授权
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
位置正确。没有打字失误
“WSGIScriptAlias”的第一个参数/' 应该是空白的,但是如果你把它放在一个空白处,当你点击这个IP时,你将看不到“it walked”页面。所以我把服务器的外部IP。然后它走得很好
查看Apache2错误日志
[Wed May 02 21:32:28.100569 2018][wsgi:warn][pid 22648:tid 140282945592]mod_wsgi:Compiled for Python/3.5.1+
[Wed May 02 21:32:28.100633 2018][wsgi:warn][pid 22648:tid 140282945592]mod_wsgi:Runtime using Python/3.5.2
[Wed May 02 21:32:28.101406 2018][mpm_事件:通知][pid 22648:tid 14028294592]AH00489:Apache/2.4.18(Ubuntu)mod_wsgi/4.3.0 Python/3.5.2已配置--恢复正常操作
[Wed May 02 21:32:28.101426 2018][core:notice][pid 22648:tid 140282945592]AH00094:命令行:'/usr/sbin/apache2'
[Wed May 02 21:32:28.191175 2018][wsgi:error][pid 22651:tid 140282945592]mod_wsgi(pid=22651):调用'site.addsitedir()'失败(null)',正在停止
[Wed May 02 21:32:28.192041 2018][wsgi:error][pid 22651:tid 140282945592]mod_wsgi(pid=22651):调用'site.addsitedir()'失败,因为'/home/ubuntu/Django/myvenv/lib/python3.5/site packages'
[2018年5月2日星期三21:33:21.733277][mpm_事件:通知][pid 22648:tid 14028294504592]AH00494:已收到通知。正在尝试重新启动
[Wed May 02 21:33:21.787095 2018][wsgi:warn][pid 22648:tid 140282945592]mod_wsgi:Compiled for Python/3.5.1+
[Wed May 02 21:33:21.787410 2018][wsgi:warn][pid 22648:tid 140282945592]mod_wsgi:Runtime using Python/3.5.2
[Wed May 02 21:33:21.788397 2018][mpm_事件:通知][pid 22648:tid 14028294592]AH00489:Apache/2.4.18(Ubuntu)mod_wsgi/4.3.0 Python/3.5.2已配置--恢复正常操作
[Wed May 02 21:33:21.788447 2018][core:notice][pid 22648:tid 140282945592]AH00094:命令行:'/usr/sbin/apache2'
[Wed May 02 21:33:21.860854 2018][wsgi:error][pid 22781:tid 140282945592]mod_wsgi(pid=22781):调用'site.addsitedir()'失败(null)',正在停止
[Wed May 02 21:33:21.860889 2018][wsgi:error][pid 22781:tid 140282945592]mod_wsgi(pid=22781):调用'site.addsitedir()'失败,因为'/home/ubuntu/Django/myvenv/lib/python3.5/site包'
结果是这样的
我在网上搜索。据说wsgi版本很低
但是,apache2使用的wsgi只能与“sudo apt get install libapache2-mod-wsgi-py3”一起安装
Apache2错误日志显示wsgi版本为4.3.0
如果使用“pip install mod wsgi”安装最新版本的wsgi,Apache 2错误日志将显示4.3.0
'调用'site.addsitedir()'失败,原因为'(null)”,正在停止。'错误日志仍会显示
如何解决此错误?不要使用mod_wsgi 4.3.0。它非常旧,内存方面存在问题,无法为
python路径提供多个目录。或者使用:
WSGIDaemonProcess bot python-home=/home/ubuntu/Django/myvenv python-path=/home/ubuntu/Django/bot
您不应该将站点包
与python路径
一起使用。这不是推荐的方法,自mod_wsgi 3.3以来就没有过
有关使用虚拟环境的更多详细信息,请参阅:
如果在使用pip install mod_wsgi
后,它没有显示最新的mod_wsgi,那是因为您没有禁用/卸载系统mod_wsgi包。您需要手动配置Apache以加载更新的mod_wsgi,方法是运行mod_wsgi-express module config
并获取输出并将其添加到Apache配置中。谢谢。我安装了wsgi的最新版本。通过使用“mod_wsgi-express start server wsgi.py”命令进行修复。@如果这是解决方案,请将其标记为选中答案!