由于生产环境使用的的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的安装使用的更多相关文章

  1. 2017.7.21 linux下进程管理工具supervisord的安装与使用

    参考来自:http://blog.haohtml.com/archives/15145 0 操作环境 1 supervisord的介绍 Supervisord是用Python实现的一款非常实用的进程管 ...

  2. Linux进程管理工具 Supervisord 的安装 及 入门教程

    Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...

  3. supervisord的安装

    作用: 用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制. 安装流程 ...

  4. Centos7.x 安装 Supervisord

    [环境] 系统:Centos 7.3 软件:supervisord [安装Supervisord] yum install epel-release yum install -y supervisor ...

  5. (40) Aeroo 服务安装

    服务器 Odoo 8.0 操作系统: Ubuntu trusty14.04 说明:安装aeroo 要的要两个服务 areoo-docs 和 soffice 这里设定两个端口 8989 和 8100 = ...

  6. python之supervisord启动脚本

    Supervisord是用Python实现的一款非常实用的进程管理工具,在批量服务化管理时特别有效.可以将非Daemon的应用转为daemon程序.关于supervisord的安装和配置,在网上已经有 ...

  7. centos6.5安装配置supervisor

    1.下载并安装supervisor https://pypi.python.org/pypi/supervisor/3.2.0 .tar.gz cd supervisor- python setup. ...

  8. Supervisord管理进程实践

    今天凑空研究了下Supervisord,这是一款linux进程管理工具,使用python开发,主要用于在后台维护进程(类似master守护进程),可以实现监控进程的状态.自动重启进程等操作,便于一些服 ...

  9. Ubuntu安装Gogs服务

    花了半天的时间把阿里云的centos 换成了ubuntu 14.04 lts ,原因是因为我想安装个gogs git服务,但是centos的glibc版本太低,折腾了半天没有成功. 迁移Ghost数据 ...

随机推荐

  1. 第6章 Hyperledger Fabric模型

    This section outlines the key design features woven into Hyperledger Fabric that fulfill its promise ...

  2. A*搜索详解(2)——再战觐天宝匣

    书接上文.在坦克寻径的,tank_way中,A*算法每一步搜索都是选择F值最小的节点,步步为营,使得寻径的结果是最优解.在这个过程中,查找最小F值的算法复杂度是O(n),这对于小地图没什么问题,但是对 ...

  3. 弄懂Kafka的消息流转过程

    原文地址:https://www.cnblogs.com/chanshuyi/p/quick_start_of_kafka.html 大家都知道 Kafka 是一个非常牛逼的消息队列框架,阿里的 Ro ...

  4. 【代码问题】MatConvNet自带example中 fast_rcnn_evaluate出错

    fast_rcnn_evaluate中调用cnn_setup_data_voc07函数读取相关数据时,在类似 [gtids,t]=textread(sprintf(VOCopts.imgsetpath ...

  5. Linux简易APR内存池学习笔记(带源码和实例)

    先给个内存池的实现代码,里面带有个应用小例子和画的流程图,方便了解运行原理,代码 GCC 编译可用.可以自己上网下APR源码,参考代码下载链接: http://pan.baidu.com/s/1hq6 ...

  6. Vue基础开发笔记

    以下实例代码地址:https://github.com/NewBLife/VueDev 1,Vue组件导入 新建组件:Header.vue <template> <div> & ...

  7. 【linux】之日志查看

    搜索日志 -n 显示行号 grep 1570xxxx -n callback.tomcat-catalina-out 显示从第多少行~多少行 sed -n '464913,465020p' callb ...

  8. 转HDMI

    HDMI协议解析 2017年06月18日 14:19:27 阅读数:2987 转载请标明出处floater的csdn blog,http://blog.csdn.net/flaoter 本文从软件工程 ...

  9. amd显卡更新最新驱动鼠标顿卡的解决方法

    测试了下游戏,很稳.方法:在卡顿的状态下打开RADEON设置,依次点击显示器→规格→覆盖,将支持HDCP选为禁用,按提示重启即可.

  10. jumpservice使用465端口发送邮件

    阿里云.华为云等云服务器默认屏蔽掉了25端口后,内网服务器如何通过跳板机发送邮件到外网邮箱. 如果是可联网的阿里云机器,可以直接配置mailx使用465端口发送邮件.需要进行ssl验证配置. Cent ...