Supervisor启动error: <class 'socket.error'>, [Errno 101] Network is unreachable

全栈与架构 > 技术设计
 

Supervisor启动error: <class 'socket.error'>, [Errno 101] Network is unreachable

 

合作公司的MM今天送来第六份文档,我在开发之处留意并担心的问题最终还是被提出来了。文档中大多数为细节调整,重点问题集中在全站商品分类(goodcat)的增删改查和前端展开特效、current_item定位以及数据筛查。修改完成后上传到服务器时出现了问题,kill掉Supervisor后重启发现遇到了新问题。

问题触发环境

我在Linux(Centos)系统的服务器上部署Tornado实例的时候,启动Supervisor遇到的socket.error问题,

项目部署是Supervisor + Apache完成的,关键参数配置:

Supervisor:user=apache;

Apache:

ProxyRequests Off
    <Proxy *>
       Order deny,allow
       Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:8899/
    ProxyPassReverse / http://127.0.0.1:8899/

错误详细信息:

error: <class 'socket.error'>, [Errno 101] Network is unreachable: file: /usr/local/lib/python2.7/socket.py line: 571

解决方案

通过查阅,我发现StackOverflow上kelorek的一个回答可以解决此类问题,It does work,thank you。(@kelorek)先看他的回答:

You have to start supervisord before you can use supervisorctl. In my case:

    sudo supervisord -c /etc/supervisor/supervisord.conf
    sudo supervisorctl -c /etc/supervisor/supervisord.conf

即通过配置文件来启动supervisor,然后再使用supervisorctl。所以我执行命令:

# /usr/local/bin/supervisord –c /etc/supervisor/supervisor.conf

其实到这里我的问题已经解决了,无需继续使用命令:supervisorct start yourappname开启tornado项目。

Tips:题主的问题中提到的错误是:

error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567

Supervisor知识点补充

supervisord & supervisorctl是Supervisor的两个可执行程序,其关系相当与Apache下的httpd & apachectl。

  • supervisord 是后台管理服务器, 用来依据配置文件的策略管理后台守护进程, 它会随系统自动启动;
  • supervisorctl 用于管理员向后台管理程序发送 启动(start)/重启(restart)/停止(stop) 等指令。

=======分隔线,一下内容仅为随笔记录,可不看=========

好吧,又无耻地水了一篇文章(记录操作错误类的文章在我看来确实有些应付),其实这并并不是我的本意。我在文章首段提到了,重点问题在分类的设计上。凑巧在前几天浏览高级Web架构师面试题时看到了一个同种类型的题目——“数据库设计范畴中的树形数据结构设计”。

树形数据,主要关注的是:

  1. 如何将数据高效地以树形的形式展现给用户。
  2. 通过某个节点找到所有的父节点。
  3. 获取某个节点的所有的后继节点(包括子节点的子节点)

树形数据结构设计我并不是第一次接触,之前开发商城系统时也让它折腾过。但是目前将它从无到有、设计完善也不是几分钟就能搞定的事儿,不容易!而且这只是上一批开发者挖的坑之一,尤其是Python + Mongodb还不是我的强项(我的怨言就是从这来的)。之前有篇文章《初试MongoDB数据结构设计及$in查询—多层级分类目录》,简单探讨在Python + Mongdb架构下设计category以及如何查询,以后会单独写篇文章深入研究总结。


 

 

https://www.gznotes.com/supervisor-socket-error-errno-101/

posted @ 2019-08-30 11:50  逐梦~前行  阅读(4236)  评论(0编辑  收藏  举报