使用supervisor管理tomcat

原创
2017/07/07 17:58
阅读数 5.7K

supervisor介绍

关于supervisor的介绍这里摘取了廖老师的博客内容

Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启。

supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

另外,supervisor有两个部分,分别对应服务端supervisord和客户端工具supervisorctl。只有启动了服务端supervisord后才能使用supervisor进行其他进程的管理。 而客户端supervisorctl就是supervisor提供的供用户进行管理的工具。

supervisor的安装与配置

supervisor是一个python库,因而其安装也很方便,只需要执行pip install supervisor即可。

至于配置,可以通过supervisor提供的echo_supervisord_conf > /etc/supervisor/supervisor.conf来生成supervisor配置文件,如需要定义只需要修改其就可以了。

一般会在配置文件中修改include部分,方便将需要管理的进程写成配置文件,以供supervisor管理

[include]
files = /etc/supervisor/conf.d/*.conf

这样配置后只需要在/etc/supervisor/conf.d目录下面添加conf后缀文件,然后执行supervisorctl update则supervisor就会将新增加的配置文件对应的进程管理起来。

另外,supervisor默认的日志文件输出目录为/var/log/supervisor,它管理的进程如果没有将日志重定向的话,则默认以program-stdout-xxxx.logprogram-stderr-uuid.log存在。 可以在程序配置文件中通过配置stdout_logfile=/path/tofile来进行配置。配置文件中配置以将日志重定向有个好处就是避免了supervisord服务重启时日志文件被清空的问题。

tomcat配置文件

参见serverfault

[program:tomcat]
command=/usr/share/tomcat7/bin/catalina.sh run
startsecs=5
stopsignal=INT
user=tomcat7

其实在这样配置前,最好在终端terminal中执行下/usr/share/tomcat7/bin/catalina.sh run,看有没有错误。 如果没有错误,那恭喜你可以直接使用supervisor管理tomcat了,但是在我使用过程中有一些错误,进行了如下操作

ln -s /etc/tomcat7 /usr/share/tomcat7/conf
ln -s /var/lib/tomcat7/common /usr/share/tomcat7/common
ln -s /var/lib/tomcat7/server /usr/share/tomcat7/server
ln -s /var/lib/tomcat7/shared /usr/share/tomcat7/shared
ln -s /var/lib/tomcat7/webapps /usr/share/tomcat7/webapps
ln -s /var/cache/tomcat7 /usr/share/tomcat7/work
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部