Linux Supervisor 守护进程基本配置
supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。
组成部分
supervisord:服务守护进程
supervisorctl:命令行客户端
Web Server:提供与supervisorctl功能相当的WEB操作界面
XML-RPC Interface:XML-RPC接口
查看版本信息:
supervisord -v
参考地址:http://beginman.cn/linux/2015/04/06/Supervisor/
官网文档地址:http://www.supervisord.org
安装:
yum install python-setuptools easy_install supervisor
配置:
1、在etc下创建目录,并赋权限
mkdir -m -p /etc/supervisor
2、在目录“ /etc/supervisor”下创建配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
3、修改配置文件
vim /etc/supervisor/supervisord.conf
在文件末尾添加,注意首尾需无空格,需顶格
[include]
files=/etc/supervisor/conf.d/*.conf
4、在目录“/etc/supervisor”下创建dotnet core 进程配置文件存放目录“conf.d”
mkdir -m /etc/supervisor/conf.d
5、创建进程配置文件,示例:Nginx和asp.net core的守护进程,关键配置:
mkdir -m /etc/supervisor/conf.d/OneAspNetCore.conf
asp.net core
[program:OneAspNetCore]
command=dotnet OneAspNetCore.dll ; 运行程序的命令
directory=/home/webapps/aspnet/ ; 执行前要不要先cd到目录去,一般不用
autorestart = true ; 程序异常退出后自动重启
autostart=true ; 随着supervisord的启动而启动
startretries = ; 启动失败自动重试次数,默认是
numprocs= ; 启动几个进程
stderr_logfile=/var/log/OneAspNetCore.err.log ; 错误日志文件
stdout_logfile=/var/log/OneAspNetCore.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=KILL ; 用来杀死进程的
stopsignal=INT
注:这里的日志文件目录必须存在 supervisor不会创建该日志目录
nginx
[program:nginx]
command=systemctl start nginx ; 运行程序的命令
directory= ; 执行前要不要先cd到目录去,一般不用
autorestart = true ; 程序异常退出后自动重启
autostart=true ; 随着supervisord的启动而启动
startretries = ; 启动失败自动重试次数,默认是
numprocs= ; 启动几个进程
stderr_logfile=/var/log/nginx/nginx.err.log ; 错误日志文件
stdout_logfile=/var/log/nginx/nginx.out.log ; 输出日志文件
user=root ; 进程执行的用户身份
stopsignal=KILL ; 用来杀死进程的
stopsignal=INT
启动Supervisor
supervisord -c /etc/supervisor/supervisord.conf
ps:如果服务已启动,修改配置文件可用“ supervisorctl reload ”命令来使其生效
配置Supervisor开机启动
新建一个“supervisord.service”文件
#supervisord service for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon [Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s [Install]
WantedBy=multi-user.target
将文件拷贝至:“/usr/lib/systemd/system/”
执行命令:systemctl enable supervisord
执行命令:systemctl is-enabled supervisord #来验证是否为开机启动
重启检测是否正常!!!
web界面配置
把配置文件中 inet_http_server 前面的分号去掉 在Supervisor中 ;是注释的格式 默认是不开启web界面的
[inet_http_server] ; inet (TCP) server disabled by default
port=*:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=123
Linux Supervisor 守护进程基本配置的更多相关文章
- centos 下Supervisor 守护进程基本配置
supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...
- asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)
原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...
- Docker 守护进程的配置和操作 & 远程访问
守护进程的配置和操作 1.查看守护进程 linux命令: ps -ef | gerp docker sudo status docker 2.开启关闭重启守护进程 sudo service docke ...
- 【Centos7】 中使用Supervisor守护进程
原文出处: Centos7 中使用Supervisor守护进程 配置supervisor实现进程守护 1.安装supervisor yum install Supervisor 2.启动服务 su ...
- python实现Linux启动守护进程
python实现Linux启动守护进程 DaemonClass.py代码: #/usr/bin/env python # -*- coding: utf-8 -*- import sys import ...
- linux 创建守护进程的相关知识
linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...
- linux C守护进程编写
linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件.守护进程是一种很有用的进程. Linux的大多数服 ...
- Centos7 使用 Supervisor 守护进程 Celery
一.Supervisor 安装(centos7 还有另一个进程守护命令 Systemd ) Centos 7 安装 Supervisord 二.Supervisor 守护进程 Centos7 使用 S ...
- 【Linux】- 守护进程的启动方法
转自:Linux 守护进程的启动方法 Linux中"守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问 ...
随机推荐
- 创建或打开解决方案时提示"DotNetCore.1.0.1-SDK.1.0.0.Preview2-003131-x86"错误的解决方案
提示"DotNetCore.1.0.1-SDK.1.0.0.Preview2-003131-x86"错误的解决方案: 1.检查是否有C:\Program Files (x86)\d ...
- C++ 最小化到托盘
#define WM_SHOWTASK (WM_USER + 1) void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID &a ...
- Interview website
https://www.interviewcake.com http://www.leetcode.com
- Java NIO概述
Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然 Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Se ...
- Andriod 自定义控件之创建可以复用的组合控件
前面已学习了一种自定义控件的实现,是Andriod 自定义控件之音频条,还没学习的同学可以学习下,学习了的同学也要去温习下,一定要自己完全的掌握了,再继续学习,贪多嚼不烂可不是好的学习方法,我们争取学 ...
- 了解JavaScript 数组对象及其方法
数组在我目前学习过的编程语言中都可以见到, 形形色色的方法也数不胜数, 不过功能都一样, 最多也就是方法名稍稍有所不同, 老外也没个准啊, 如果英语比较好的同学对于学习方法(method)来说是很快的 ...
- 【译】Spring 4 自动装配、自动检测、组件扫描示例
前言 译文链接:http://websystique.com/spring/spring-auto-detection-autowire-component-scanning-example-with ...
- 使用rsync同步目录
本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...
- 如何评价一个RPC框架的性能
协议:数据传输的格式,通信双方的契约. 传输:使用何种传输通道传输数据. 线程:接收到数据,如何分发数据进行处理.
- Linux下的TeXlive 2015 中文问题
Update: 今日突然发现,我的xeLaTeX编译生成的pdf中文字在TeXMaker内置viewer.evince下查看均无法显示中文,中文字显示为空白,英语正常:但FireFox.Chrome浏 ...