http 、http-socket、socket 的区别
- http 和 http-socket 选项是齐全不同的。第一个生成一个额定的过程,转发申请到一系列的worker (将它设想为一种模式的盾牌,与apache或者nginx同级),而第二个设置worker为原生应用http协定。
- socket 模式:接管的是uwsgi 协定的数据包,前台需配合nginx 做负载平衡转发过去
- http-socket 模式: 接管的是http 协定的数据包,前台可配合nginx 转发
- http 模式: 额定启动一个http 过程(相似nginx)转发 uwsgi 协定的数据包到worker,http 模式也可只当成nginx 应用
- 当应用 http 模式启动时,worker 过程会随机监听一个端口, 当curl 测试返回curl: (52) Empty reply from server, 通常可能是iptables 防火墙的起因,导致申请无奈达到workerj过程;
编译的uwsgi 打包到新环境,无奈找到python 解释器;
-
问题
Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Fatal Python error: initfsencoding: Unable to get the locale encoding ModuleNotFoundError: No module named 'encodings'
-
2种解决办法:
- python 装置到,编译uwsgi环境时python的门路
- 指定PYTHONHOME 环境变量,export PYTHONHOME=
python 装置门路
, PYTHONHOME 下肯定必须有 bin/ 、lib/
肯定要启动master manager, 来治理子过程worker, –master
=============
参考链接: https://uwsgi-docs-zh.readthe…