linux 基本 守护进程,Linux Supervisor 守护进程基本配置

supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。

组成部分

supervisord:服务守护进程

supervisorctl:命令行客户端

Web Server:提供与supervisorctl功能相当的WEB操作界面

XML-RPC Interface:XML-RPC接口

查看版本信息:

supervisord -v

安装:

yum install python-setuptools

easy_install supervisor

配置:

1、在etc下创建目录,并赋权限

mkdir -m 700 -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 700 /etc/supervisor/conf.d

5、创建进程配置文件,示例:Nginx和asp.net core的守护进程,关键配置:

mkdir -m 700 /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= 10 ; 启动失败自动重试次数,默认是 3numprocs=1; 启动几个进程

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= 10 ; 启动失败自动重试次数,默认是 3numprocs=1; 启动几个进程

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

c89752da3dcfd0ca02f13ac4dbce479b.png

执行命令:systemctl is-enabled supervisord #来验证是否为开机启动

dbfe390914dc94e327f5665cde646942.png

重启检测是否正常!!!

web界面配置

把配置文件中 inet_http_server 前面的分号去掉 在Supervisor中 ;是注释的格式 默认是不开启web界面的

[inet_http_server] ; inet (TCP) server disabled by default

port=*:9001 ; (ip_address:port specifier, *:port forall iface)

username=user ; (default isno username (open server))

password=123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值