操作目的:用supervisor工具管理tomcat服务

配置环境,安装服务,以及多实例

脚本编辑:

前提 机器的opt目录下必须有jdk-8u131-linux-x64_.rpm 以及apache-tomcat-8.5.35.tar.gz

 1 #!/bin/bash
2 systemctl stop firewalld
3 setenforce 0
4 echo "==========安装更新========"
5 yum -y install epel-release
6 yum -y install supervisor
7 echo "=======初始化tomcat======="
8 touch /etc/supervisord.d/tomcat.ini
9 echo > /etc/supervisord.d/tomcat.ini
10 echo "=======配置jdk环境========"
11 java -version > /dev/null
12 if [ $? -ne 0 ]; then
13 cd /opt/
14 rpm -ivh jdk-8u131-linux-x64_.rpm
15 fi
16 echo "=====tomcat单机多实例====="
17 mkdir /opt/tomcat
18 for i in `seq 1 3`
19 do
20 t8009=`expr 8009 + $i`
21 t8005=`expr 8005 + $i`
22 t8080=`expr 8080 + $i`
23 mkdir /opt/tomcat/tomcat$i
24 cd /opt/
25 tar -zxvf /opt/apache-tomcat-8.5.35.tar.gz
26 mv /opt/apache-tomcat-8.5.35 /opt/tomcat/tomcat$i/apache-tomcat-8.5.35
27 cd /opt/tomcat/tomcat$i/apache-tomcat-8.5.35/conf
28 sed -i "s#8009#$t8009#g" server.xml
29 sed -i "s#8005#$t8005#g" server.xml
30 sed -i "s#8080#$t8080#g" server.xml
31 cat >>/etc/supervisord.d/tomcat.ini<<EOF
32 [program:tomcat$i]
33 command=/opt/tomcat/tomcat$i/apache-tomcat-8.5.35/bin/catalina.sh run
34 EOF
35 done
36 supervisord -n

脚本执行后是supervisor的前台执行方式

也可以使用系统的后台开启方式

1 systemctl start supervisord

步骤完成后修改supervisor的配置文件,打开端口

1 [inet_http_server]         ; inet (TCP) server disabled by default
2 port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)
3 username=user ; (default is no username (open server))
4 password=123 ; (default is no password (open server))

这里需要注意的是port的端口设置,由于127是回环地址,需要改为自己生产环境的ip地址

yum安装的supervisor工具直接系统启动服务即可,查看状态为running正常状态

开启三台tomcat服务,或者可以使用脚本代替

完成后进入服务里面可以看到开启的tomcat

通过help可以发现里面还可以进行开启关闭以及重启等服务

下面就是访问网页管理端

http://localhost:9001

登录账号及密码

可见通过页面的点击可以实现不同tomcat的管理

日志如下

Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting

解决方法:

find / -name supervisor.sock

unlink /name/supervisor.sock

supervisor管理tomcat的更多相关文章

  1. 使用supervisor管理tomcat,nginx等进程详解

    1,介绍 官网:http://supervisord.org Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时 ...

  2. supervisor管理进程工具配置

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...

  3. 在Docker里使用(支持镜像继承的)supervisor管理进程(转)

    这篇文章是受 dockboard 之托帮忙翻译的与 docker 有关的技术文章.译自 Using Supervisor with Docker to manage processes (suppor ...

  4. Supervisor 管理后台守护进程

    Supervisor 管理后台守护进程 参考原文如下: http://codinn.com/people/brant/notes/110948/ 做了一些注释 +++++++++++引用开始+++++ ...

  5. 如何使用supervisor管理你的应用

    1.前言 Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是UNIX-like系统下的一个进程管理工具,不支持Windo ...

  6. Supervisor管理进程

    Supervisor管理进程 转载 2016年04月14日 18:26:45 标签: supervisord 28344 Supervisor重新加载配置启动新的进程 liaojie 发布于 1年前, ...

  7. 配置supervisor管理beego应用

    一.golang.beego等环境安装与配置 二.supervisor安装 github项目地址:https://github.com/Supervisor/supervisor 克隆项目:git c ...

  8. Supervisor 管理进程,Cloud Insight 监控进程,完美!

    Supervisor 是由 Python 语言编写.基于 linux 操作系统的一款服务器管理工具,用于监控服务器的运行,发现问题能立即自动预警及自动重启等. Cloud Insight 是一款次世代 ...

  9. supervisor管理进程 superlance对进程状态报警

    supervisor介绍 首先,介绍一下supervisor.Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linu ...

随机推荐

  1. 「CF670C」Cinema 解题报告

    题面 传送门 思路: 离散化.hash 对于这样一个明显的统计排序的题目,当然轻而易举啦~ 但是!看!语言的编号 a数组和 b数组的值最大在\(10^9\)的级别,所以开个数组来存---That's ...

  2. 从 posix_spawn() 函数窥探漏洞逃逸

    posix_spawn() 函数是用来在Linux上创建子进程的,头文件是 #include <spawn.h> ,语法如下: #include <spawn.h> int p ...

  3. 【Think In Java笔记】第1章 对象导论

    1. 对象导论 OOP 面向对象编程 C.Basic等语言所在的抽象仍要求在解决问题时基于计算机的解决,而不是基于所解决问题的结构来考虑. 要建立起问题空间的元素和解空间的对象之间一一映射的关系 万物 ...

  4. 最大的 String 字符长度是多少?

    String 类可以说是在 Java 中使用最频繁的类了,就算是刚刚接触 Java 的初学者也不会陌生,因为对于 Java 程序来说,main 方法就是使用一个 String 类型数组来作为参数的(S ...

  5. 小白学 Python 爬虫(39): JavaScript 渲染服务 scrapy-splash 入门

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  6. 对Java中可变参数的理解

    说明 可变参数:是DK1.5之后出现的新特性,其实可变参数是0.1.2.3.....个参数的数组 使用前提 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数 使用格式 修饰符 ...

  7. 图解kubernetes服务打散算法的实现源码

    在分布式调度中为了保证服务的高可用和容灾需求,通常都会讲服务在多个区域.机架.节点上平均分布,从而避免单点故障引起的服务不可用,在k8s中自然也实现了该算法即SelectorSpread, 本文就来学 ...

  8. 自己动手搭环境—unit 1、Struts2环境搭建

    1.web.xml中增加Struts2配置 <filter> <filter-name>struts2</filter-name> <filter-class ...

  9. Window下安装并使用InfluxDB可视化工具 —— InfluxDBStudio

    下载 直接访问: https://github.com/CymaticLabs/InfluxDBStudio/releases/tag/v0.2.0-beta.1 创建or编辑InfluxDB 这个软 ...

  10. linux运行tomcat报错SEVERE: Unable to process Jar entry [avassist xxxx.class]

    tomcat的版本过低换成apache-tomcat-7.0.56以上的高版本的就可以了