当linux设备上开启sonar6.2时,

supervisorctl status报如下错误:

error: <class 'xml.parsers.expat.ExpatError'>, syntax error: line 1, column 0: file: /usr/local/lib/python2.7/xmlrpclib.py line: 557

关闭sonar6.2时,报如下错误:

error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/local/lib/python2.7/socket.py line: 571

据说要关闭防火墙

/usr/sbin/sestatus查看防护墙状态

cat /etc/selinux/config查看防火墙配置

SELINUX=disabled关闭

原来是这两行注释掉了

[inet_http_server]         ; inet (TCP) server disabled by default
port=*:9002

tmd,supervisor.conf的配置太坑了,不小心就会出错

另外附一个坑点:supervisord.conf的配置里的注释符,注意分号前后的空格,注释符和配置之间要至少有一个空格


上面的方法,指标不治本,通过下面的命令,我们知道supervisord会在如下路径,寻找名字为supervisord.conf的配置文件

[etc]$ supervisord
Error: No config file found at default paths (/usr/local/etc/supervisord.conf, /usr/local/supervisord.conf, supervisord.conf, etc/supervisord.conf, /etc/supervisord.conf, /etc/supervisor/supervisord.conf); use the -c option to specify a config file at a different path
For help, use /usr/local/bin/supervisord -h

注意上面有绝对路径和相对路径

这里注意两点,一个是配置文件的名字,不能是其他名字,如果是其他名字,就需要启动时指定配置文件的路径和名字;二是路径包含在搜索路径内

1、supervisord -c /a/b/x/s/super.conf。这样启动的supervisor可以任意路径和任意的配置文件名字;

但是,执行supervisorctl的时候,也要指定配置文件的名字和路径,像:supervisor -c /a/b/x/s/super.conf status这样

如果你直接执行supervisorctl status,就会报下面的错误

error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/local/lib/python2.7/socket.py line: 571

2、另外sonar6.2会默认使用9001端口,keepalived也默认会使用9001端口,所以应该注意端口冲突问题

3、执行命令supervisord 和 supervisorctl 的时候,都会在默认路径下搜索配置文件;

error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/local/lib/python2.7/socket.py line: 571

4、再说一下上面治标的原因:启动supervisor有连个方法,一个是sock,另一个是下面的方法

supervisor.sock是以.sock 为后缀的文件而已,UNIX 系统不以后缀区分文件类型,但为了识别,通常使用后缀来标识一下。.sock文件通常是UNIX 域套接字(UNIX domain socket),即通过文件系统(而非网络地址)进行寻址和访问的套接字

上面的是Unix domain socket,是操作系统内部通信,所以只可以本地访问

下面的tcp通讯,可以远程访问和本地访问

详细区别参考:

https://en.wikipedia.org/wiki/Unix_domain_socket

https://lists.freebsd.org/pipermail/freebsd-performance/2005-February/001143.html

Unix domain socket

From Wikipedia, the free encyclopedia

A Unix domain socket or IPC socket (inter-process communication socket) is a data communications endpoint for exchanging data between processes executing on the same host operating system. Like named pipes, Unix domain sockets support transmission of a reliable stream of bytes (SOCK_STREAM, compare to TCP). In addition, they support ordered and reliable transmission of datagrams (SOCK_SEQPACKET), or unordered and unreliable transmission of datagrams (SOCK_DGRAM, compare to UDP). The Unix domain socket facility is a standard component of POSIX operating systems.

The API for Unix domain sockets is similar to that of an Internet socket, but rather than using an underlying network protocol, all communication occurs entirely within the operating system kernel. Unix domain sockets use the file system as their address name space. Processes reference Unix domain sockets as file system inodes, so two processes can communicate by opening the same socket.

In addition to sending data, processes may send file descriptors across a Unix domain socket connection using the sendmsg() and recvmsg() system calls. This allows the sending processes to grant the receiving process access to a file descriptor for which the receiving process otherwise does not have access.[1] This can be used to implement a rudimentary form of capability-based security.[2] For example, this allows the Clam AntiVirus scanner to run as an unprivileged daemon on Linux and BSD, yet still read any file sent to the daemon's Unix domain socket.

https://en.wikipedia.org/wiki/Unix_domain_socket

error: <class 'xml.parsers.expat.ExpatError'>, syntax error: line 1, column 0: file: /usr/local/lib/python2.7/xmlrpclib.py line: 557的更多相关文章

  1. error: [Errno 13] Permission denied: '/usr/local/lib/处理方法

    在ubuntu系统下使用pip 命令安装包时,出现以下类似错误提示: error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/di ...

  2. mysql: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: UP

    Error Symptom: when you run $mysql -u root -p command in the linux you get an error message ” mysql: ...

  3. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/var/AYXXXXXXXXXXX.pid). 错误解决方法

    /etc/init.d/mysql start无法启动MySQL错误信息如下: ERROR! MySQL server PID file could not be found! Starting My ...

  4. mac上安装webpack报错解决方法Hit error EACCES: permission denied, mkdir '/usr/local/lib/node_modules/webpack

    node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Pre-built binaries ...

  5. linux mysql -- ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)

    转载 http://blog.csdn.net/caiyaodeng/article/details/45937183 linux 链接mysql 报错 ERROR! The server quit ...

  6. qt opencv编译错误 /usr/local/lib/libopencv_imgcodecs.so.3.1:-1: error: error adding symbols: DSO missing from command line

    转载自:http://tbfungeek.github.io/2016/03/05/Opencv-%E5%AE%89%E8%A3%85%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%87 ...

  7. 报错:ERROR! The server quit without updating PID file (/usr/local/var/mysql/chenyuntekiMacBook-Air.local.pid).

    在Mac上通过brew install mysql 安装了完mysql 执行mysql.server start 报错:ERROR! The server quit without updating ...

  8. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/vm10-0-0-19

    输入:service mysqld start 报错: Starting MySQL.. ERROR! The server quit without updating PID file (/usr/ ...

  9. pytesseract.pytesseract.TesseractError: (1, 'Error opening data file /usr/local/share/tessdata/chi_sim.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata"

    pytesseract.pytesseract.TesseractError: (1, 'Error opening data file /usr/local/share/tessdata/chi_s ...

随机推荐

  1. System.Net.Mail的应用,后端发送邮件

    private void btn_send_Click(object sender, EventArgs e) { var emailAcount = ConfigurationManager.App ...

  2. Three.js基础探寻七——Lamber材质与Phong材质

    材质(Material)是独立于物体顶点信息之外的与渲染效果相关的属性.通过设置材质可以改变物体的颜色.纹理贴图.光照模式等. 本篇将介绍基本材质以及两种基于光照模型的材质(Lamber与Phong) ...

  3. c#后台线程更新界面

    参考文章<C# 线程更新UI界面> 主窗口 public frmMain() { InitializeComponent(); } /// <summary> /// 主窗口加 ...

  4. Python并发编程-一个简单的爬虫

    一个简单的爬虫 #网页状态码 #200 正常 #404 网页找不到 #502 504 import requests from multiprocessing import Pool def get( ...

  5. javascript面向对象思想

    JavaScript 使用函数来定义类.语法:function className(){    // 具体操作} function Person() { this.name=" 张三 &qu ...

  6. Python 正则表达式中级

    首先是?:   在括号中用?:用在findall和split之中,去除括号优先级. 如果不用只输出括号内匹配的值 r   的作用是转义python里面换行符等,像是\n 不用加\来转义 1.子表达式 ...

  7. 「WC2016」论战捆竹竿

    「WC2016」论战捆竹竿 前置知识 参考资料:<论战捆竹竿解题报告-王鉴浩>,<字符串算法选讲-金策>. Border&Period 若前缀 \(pre(s,x)​\ ...

  8. [BZOJ1799][AHOI2009]同类分布(数位DP)

    1799: [Ahoi2009]self 同类分布 Time Limit: 50 Sec  Memory Limit: 64 MBSubmit: 1635  Solved: 728[Submit][S ...

  9. 03-MyBatis主从实现代码读写分离应用以及实现

    建立目录结构:

  10. [转]Android Studio开发入门-引用jar及so文件

    注意: 1.jar包在app的libs目录 2.so文件放在src/main”目录中名为“jniLibs”的目录 一.引用jar文件    1.将jar文件复制.粘贴到app的libs目录中:    ...