Supervisor啓動error: , [Errno 101] Network is unreachable

全棧與架構 > 技術設計
 

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

 

合做公司的MM今天送來第六份文檔,我在開發之處留意並擔憂的問題最終仍是被提出來了。文檔中大多數爲細節調整,重點問題集中在全站商品分類(goodcat)的增刪改查和前端展開特效、current_item定位以及數據篩查。修改完成後上傳到服務器時出現了問題,kill掉Supervisor後重啓發現遇到了新問題。php

問題觸發環境

我在Linux(Centos)系統的服務器上部署Tornado實例的時候,啓動Supervisor遇到的socket.error問題,前端

項目部署是Supervisor + Apache完成的,關鍵參數配置:python

Supervisor:user=apache;linux

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

錯誤詳細信息:mongodb

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)先看他的回答:apache

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/