centos7下supervisor的安装以及注意事项

来源:互联网 发布:阿里云国际版 编辑:程序博客网 时间:2024/05/29 03:17

因为朋友推荐,使用了一次supervisor。 对着网上的资料自己操作了一遍,发现了一些问题,网上找到了一些答案,自己也解决了一些。 把这些记录下来,可以方便大家。

首先是centos7上的安装部署,网上有很多文章讲的很好, 我查看的是这篇博客:

http://blog.csdn.net/xyang81/article/details/51555473

值得注意的是因为源的原因,centos下需要先执行下面这行语句, 在这篇博客的最下面有说明。

yum install epel-release

直接操作完成后,在启动supervisor的时候可能会报错,说sock之类的问题, 这个问题的解决方法在下面这篇博客中找到了答案。

http://blog.csdn.net/u014115673/article/details/54601800

修改配置文件中所有包含tmp的路径,将其改为其他不能被系统自动清理的路径。 还有个很重要的点,就是要给这些改掉的文件夹设置执行权限。


基本上安装到这里,工具上就没有什么问题了。 剩下就是使用的问题。 

因为我需要同时监控多个程序,所以我使用的是使用include文件的方式加入监控。 方法就是把初始配置的include部分取消注释(在配置文件的最后几行),

多个ini文件使用空格分开即可。 比如我的配置文件最后是:

[include]files = supervisord.d/record.ini supervisord.d/upload.ini

然后在当前目录下创建 supervisord.d 目录,再创建这两个文件。 把配置文件中的 [program]部分拷贝到里边。取消自己需要部分的注释。 

每行语句后面都有注释,相信大家很容易看懂每行的含义。 值得注意的是, 有些程序需要读取一些指定目录的文件,这个时候就需要注意一些问题。 

比如我在程序里边需要读取跟我程序同目录下的 setup.config 文件。代码中使用了相对路径 open('./setup.config', 'r'), 如果在include的配置文件中的cmd行这么写:  /home/qiaonan/myapp  程序就会在打开文件时报错,说找不到该文件。 因为这个相对路径是指敲执行命令的路径。 


为了解决这个问题,可以修改[program]部分的 directory值, 修改了这个值之后, supervisor就会先cd到这个目录,再去执行cmd的语句。 


设置成开机启动有两种方法, 比较推荐的是使用systemctl, 但是看上去很麻烦的样子。 

所以我直接使用第二种方法,修改启动文件。 /etc/rc.d/rc.local

在centos7下,这个方法不被推荐,因为这个文件会跟boot同时执行,所以在这个里边的语句并不是执行在所有服务启动之后, 所以如果你有使用java 程序,很有可能你的java程序在开机启动的时候就没跑起来。因为在执行这行语句的时候会找不到java工具。 

可以参考我的另一篇博客。

http://blog.csdn.net/bbg221/article/details/78361246




 

原创粉丝点击