百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

Supervisor服务自启动(supervisor启动命令)

sinye56 2024-11-11 13:34 3 浏览 0 评论

介绍

supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。可以很方便的监听、启动、停止、重启一个或多个进程。用supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重启,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

安装

centos

yum install epel-release

yum install -y supervisor

systemctl enable supervisord # 开机自启动

systemctl start supervisord # 启动supervisord服务

systemctl status supervisord # 查看supervisord服务状态

配置

默认配置文件的目录:

/etc/supervisord.conf #主配置文件 
/etc/supervisord.d/ #单服务配置文件的目录

主配置文件需要的改动(supervisord.conf):

[include] 
files = supervisord.d/*.conf #默认是ini,可以修改为conf

主配置文件其它地方一般默认就好,若有特殊的需求可以问我或者自行百度。

单个服务的配置文件:

每个需要supervisor进行管理的服务最好单独配置在/etc/supervisord.d目录下,介绍如下:

[program:x]:配置文件必须包括至少一个program,x是program名称,必须写上,不能为空

  • command:包含一个命令,当这个program启动时执行
  • directory:执行子进程时supervisord暂时切换到该目录
  • user:账户名
  • startsecs:进程从STARING状态转换到RUNNING状态program所需要保持运行的时间(单位:秒)
  • redirect_stderr:如果是true,则进程的stderr输出被发送回其stdout文件描述符上的supervisord
  • stdout_logfifile:将进程stdout输出到指定文件
  • stdout_logfifile_maxbytes:stdout_logfifile指定日志文件最大字节数,默认为50MB,可以加KB、MB或GB等单位
  • stdout_logfifile_backups:要保存的stdout_logfifile备份的数量

特别说明:supervisor不能够管理后台运行的服务,所以有些服务如果需要supervisor进行管理的话,特殊配置一下。Tomcat的常用启动命令在linux中就会默认后台运行,所以用它举例(参照本地机器):

1. 在/etc/supervisord.d/目录下新建cat.conf文件。

[program:tomcat] 
#tomcat中catalina.sh所在位置 加上 run 
command=/root/task/apache-tomcat-7.0.68/bin/catalina.sh run 
#jdk安装目录 
environment=JAVA_HOME="/usr/lib/jvm/java-8-oracle",JAVA_BIN="/usr/lib/jvm/java-8- oracle/bin"
#执行时切换到tomcat所在目录 
directory=/root/task/apache-tomcat-7.0.68 
#执行的用户 
user=root 
autostart = true 
autorestart=true 
redirect_stderr=true

2. systemctl status supervisord重启服务。

3. 通过supervisord启动tomcat.

supervisorctl start tomcat

介绍一下supervisorctl命令

supervisorctl 是 supervisord的命令行客户端工具

  1. supervisorctl status:查看所有进程的状态
  2. supervisorctl stop tomcat
  3. supervisorctl start tomcat
  4. supervisorctl restart tomcat
  5. supervisorctl update
  6. supervisorctl reload

注意事项:

  1. 前面说过,后台进程supervisor管不到,类似ES -d,Tomcat (startup)之类的启动命令默认是后台命令,需要特殊处理,不然的话服务应该会不断的重启。
  2. supervisord 服务启动一个就好,不要启动多个。
  3. 通过supervisord管理的服务需要通过supervisro 启动。
  4. 重新部署项目的时候需要停掉supervisord服务,不然服务会一直重启(默认三次)。



相关推荐

Linux在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: