• 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/

  • 相关阅读:
    常用JSR-303数据校验
    SpringBoot配置文件及自动配置原理
    SpringBoot自动装配原理
    Centos安装TensorFlow和Keras
    Batch梯度下降
    梯度下降法的注意点
    读取流量
    Linux开机启动服务
    Shell分割字符得到数组
    Linux下无图形界面安装Matlab
  • 原文地址:https://www.cnblogs.com/du-jun/p/11434244.html
Copyright © 2020-2023  润新知