supervisord的安装使用
由于生产环境使用的的tomcat,项目比较重要,所以要做进程守护,本来打算自己写脚本,但是效果不理想,想了下还是用supervisord了
由于很久不用,所以写下来部署步骤
第一:安装,安装的方法有yum和pip还有easy_install,不过还是推荐使用yum安装
yum的安装方法如下,前提是需要安装epel源,没有epel源的可以使用yum安装下yum install epel -y
然后
yum install -y supervisor
pip安装方法,来自于网络
cat pip_an.sh
#!/bin/bash
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-.6c11.tar.gz
cd setuptools-.6c11
python setup.py build
python setup.py install
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa33326"
tar -xzvf pip-1.5..tar.gz
cd pip-1.5.
python setup.py install
easy_install的安装方法如下
yum install python-setuptools
easy_install supervisor
不论那种方法,都可以,还是推荐使用yum。
第二:配置使用
由于我使用的yum安装,安装后配置文件在etc下面
位置是/etc/supervisord.conf
简单编辑下就可以用了,其实需要更改的只有2个地方就是
[inet_http_server] ###去掉前面冒号
port=0.0.0.0:9001
保存后,就可以启动了
systemctl start supervisord
这样就启动完成了,至于该怎么使用,接下来简单说下。
守护一个进程,比如tomcat
我们在/etc/supervisord.d/下创建一个子配置文件叫tomcat.ini
[program:tomcat]
command=/data/ifengsite/java/tomcat/bin/catalina.sh run
environment=JAVA_HOME="/usr/local/jdk",JAVA_BIN="/usr/local/jdk/bin"
stdout_logfile=/data/ifengsite/java/tomcat/logs/catalina.out
redirect_stderr=true
autostart=false
autorestart=true
startsecs=
priority=
stopasgroup=false
killasgroup=false
user=www
command启动命令,命令路径
enviroment环境变量,jdk环境配置
user 以那个用户来启动这个进程
stdout_logfile日志输出路径到那个文件,此文件最后提前创建,并且使用启动该进程的用户创建为好
autostart是否和supervisor一起启动,我这里选择否
autostart是否自动重启,肯定的
剩下的选项大家可以百度哈,很简单的
然后保存该文件。
重载下supervisor服务
systemctl restart supervisord
我们就可以看到有个项目叫tomcat了,可以在命令行看也可以在web页面看
命令行看的方法是
supervisorctl

web页面看的方法是打开ip:9001

我这里定义了2个项目,已经运行了
接下来怎么启动项目呢
可以在web页面里点start,也可以使用supervisorctl start 项目名
supervisorctl start tomcat
稍等会就启动起来了。
另外如果安装多台supervisor的话,批量管理很麻烦,需要一个个打开页面,我们这里使用官方推荐的supervisord-monitor来批量管理,部署方法如下
首先克隆下supervisord-monitor这个项目
git clone https://github.com/mlazarov/supervisord-monitor.git
克隆完之后,需要进入到该目录的config下
cd /home/supervisord-monitor/application/config
然后复制一份supervisor.php.example 为supervisor.php
这个文件里面定义了需要管理那些节点

然后这个项目是Php写的,需要安装nginx和php
直接Yum安装
yum install php-fpm nginx -y
安装完成后,需要把php-fpm的运行用户更改为和nginx配置中的一致
vim /etc/nginx/nginx.conf
默认是 user nginx;
更改下php-fpm的运行用户
vim /etc/php-fpm.d/www.conf

更改为和nginx一致即可
然后启动php-fpm
systemctl start php-fpm
增加一个nginx的supervisord-monitor配置文件
vim /etc/nginx/conf.d/supervisor.conf
server {
listen default_server;
server_name 172.17.3.179;
root /home/supervisord-monitor/public_html;
auth_basic "Please input password";
auth_basic_user_file /home/supervisord-monitor/application/config/password;
location / {
index index.php index.html;
}
location /control/ {
index index.php;
rewrite /(.*)$ /index.php?$ last;
}
location ~ .php$ {
try_files $uri =;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCHEME $scheme;
include fastcgi_params;
}
}
最后我们还需要给这个页面加个登陆认证,防止任何人都可以查看
yum -y install httpd-tools
htpasswd -c /home/supervisord-monitor/application/config/password admin
然后输入密码就可以
最后启动nginx
打开登陆页面IP
会让输入用户密码,输入后

可以看到目前就一个节点,我们可以很方便的管理各个节点的项目重启关闭等等。
supervisord的安装使用的更多相关文章
- 2017.7.21 linux下进程管理工具supervisord的安装与使用
参考来自:http://blog.haohtml.com/archives/15145 0 操作环境 1 supervisord的介绍 Supervisord是用Python实现的一款非常实用的进程管 ...
- Linux进程管理工具 Supervisord 的安装 及 入门教程
Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...
- supervisord的安装
作用: 用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制. 安装流程 ...
- Centos7.x 安装 Supervisord
[环境] 系统:Centos 7.3 软件:supervisord [安装Supervisord] yum install epel-release yum install -y supervisor ...
- (40) Aeroo 服务安装
服务器 Odoo 8.0 操作系统: Ubuntu trusty14.04 说明:安装aeroo 要的要两个服务 areoo-docs 和 soffice 这里设定两个端口 8989 和 8100 = ...
- python之supervisord启动脚本
Supervisord是用Python实现的一款非常实用的进程管理工具,在批量服务化管理时特别有效.可以将非Daemon的应用转为daemon程序.关于supervisord的安装和配置,在网上已经有 ...
- centos6.5安装配置supervisor
1.下载并安装supervisor https://pypi.python.org/pypi/supervisor/3.2.0 .tar.gz cd supervisor- python setup. ...
- Supervisord管理进程实践
今天凑空研究了下Supervisord,这是一款linux进程管理工具,使用python开发,主要用于在后台维护进程(类似master守护进程),可以实现监控进程的状态.自动重启进程等操作,便于一些服 ...
- Ubuntu安装Gogs服务
花了半天的时间把阿里云的centos 换成了ubuntu 14.04 lts ,原因是因为我想安装个gogs git服务,但是centos的glibc版本太低,折腾了半天没有成功. 迁移Ghost数据 ...
随机推荐
- Battle Zone 战争地带
发售年份 1980 平台 街机 开发商 雅达利(Atari) 类型 射击 https://www.youtube.com/watch?v=Ctr54kopo8I
- 黄聪:mysql主从配置(清晰的思路)
mysql主从配置.鄙人是在如下环境测试的: 主数据库所在的操作系统:win7 主数据库的版本:5.0 主数据库的ip地址:192.168.1.111 从数据库所在的操作系统:linux 从数据的版本 ...
- Kong(V1.0.2) Health Checks and Circuit Breakers Reference
介绍 您可以让Kong代理的API使用ring-balancer,通过添加包含一个或多个目标实体的 upstream 实体进行配置,每个 target指向不同的IP地址(或主机名)和端口.ring-b ...
- 洛谷P1039 侦探推理(模拟)
侦探推理 题目描述 明明同学最近迷上了侦探漫画<柯南>并沉醉于推理游戏之中,于是他召集了一群同学玩推理游戏.游戏的内容是这样的,明明的同学们先商量好由其中的一个人充当罪犯(在明明不知情的情 ...
- (转)通过注册表修改VC6.0的字体
出处:http://www.cnblogs.com/PocketZ 在VC6.0下更改字体,我们一般通过菜单-Tools-Options-Format来更改 但在我的win7 64位系统下这一选项下的 ...
- spring 事物不回滚
使用spring控制事物,为什么有些情况事物,事物不回滚呢?? 默认spring事务只在发生未被捕获的 RuntimeException时才回滚. spring aop 异常捕获原理: 被拦截的 ...
- 菜鸟的java代码审计之旅-0之java基础知识
前言: 对于java的代码审计我就是一个小白,没有代码基础(不会java),从0开始记录我的java漏洞的审计学习之旅.对于java来说是一门很难的语言,但是不去学习就永远不会.对于一门很复杂的语言如 ...
- 软件测试:3.Exercise Section 2.3
软件测试:3.Exercise Section 2.3 /************************************************************ * Finds an ...
- boolean表达式与在if条件中的运用
1.boolean语句 boolean 类型的数据 有两个值 false 和true; 2.在if判断的条件语句中 例如: boolean arn =false 在if 判断的括号中可以表示为 !a ...
- windows server 2003产生的 Minidmp蓝屏文件分析求助
在机房运行的四台服务器中均出现了蓝屏dmp文件,经过整理发现CDMS主备服务器最近(2018年1月开始)蓝屏的dmp很多.经过自己的学习分析发现不足以找到先关的原因和处理方法,希望得到大牛们的帮助.以 ...