当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. PHP 权威代码风格规范

    1.常规 尽量统一ide 比如phpstream 配置文件(Settings → Code Style → PHP → Set from... → Predefined Style → PSR1/PS ...

  2. log4net 写日志配置

    1. nuget install package log4net 2.站点跟目录新建配置文件 LogWriterConfig.xml <?xml version="1.0" ...

  3. yii2 GirdView使用全教程

    开始GridView GridView主要是为了实现表格复用,尤其我们做后台的时候,你发现表单和表格占据了大部分页面,而表格的样式又是高度的统一,那么如果有这样一个挂件,传入数据集自动渲染表格该多好. ...

  4. CentOS7.6打开的程序窗口居中

    每次在CentOS7中打开新的窗口都会靠左上角显示,所以每次打开一个窗口都要多做一步操作,将窗口移到屏幕中间来,强迫症的我觉得太麻烦了,所以… 安装ccsm yum -y install  compi ...

  5. Typo: In word 拼写检查

    Settings->Inspections > Spelling > Typo 评写检查,

  6. 10.Spark Streaming源码分析:Receiver数据接收全过程详解

    原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/)   在上一篇中介绍了Receiver的整体架构和设计原理,本篇内容主要介绍Receiver在 ...

  7. SQL必知必会 -------- order by、where等

    一.排序检索数据 1.排序数据:SELECT prod_name FROM Products ORDER BY prod_name(对prod_name列以字母顺序排序数据) ORDER BY子句的位 ...

  8. 洛谷P3758/BZOJ4887 [TJOI2017] 可乐 [矩阵快速幂]

    洛谷传送门,BZOJ传送门 可乐 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 299  Solved: 207 Description 加里敦星球的人 ...

  9. C++ string to char *

    半伪代码: void main { string line; getline(ifs, line); replace(line.begin(), line.end(), ',', '\n'); rep ...

  10. Mutex 的正确打开方式

    在使用 Mutex 在给线程/进程间加锁时,需要注意的问题. 1 AbandonedMutexException 在使用 mutex.WaitOne 时,可能抛出异常 AbandonedMutexEx ...