美文网首页
supervisor & service

supervisor & service

作者: Plenari | 来源:发表于2019-10-07 16:18 被阅读0次

service

打开文件

`sudo vim /lib/systemd/system/【yourservice_name】.service

编辑文件

[Unit]
Description=Test Service
After=multi-user.target   ## network.target

[Service]
Type=idle
ExecStart=/usr/bin/python /home/snail/autorun.py


[Install]
WantedBy=multi-user.target

更改权限

sudo chmod 644 /lib/systemd/system/autorun.service
``

启动

sudo systemctl daemon-reload sudo systemctl enable autorun.service###使服务开机自启动

查看服务

sudo systemctl status autorun.service

参数说明

[Unit]:服务的说明

Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户

开机启动

systemctl enable nginx.service

service
service

supervisor

1.安装

  • 配置
    • 运行 echo_supervisord_conf > /etc/supervisord.conf 生成配置文件supervisord.conf.
    • 创建文件夹 /etc/supervisord.d
    • 在文件夹 /etc/supervisord.d/ 下创建对应项目的配置文件:
[program:demo]
command=/root/demo/bin/demo -srcPath=/root/demo -runMode=production
directory=/root/demo
process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1                    ; number of processes copies to start (def 1)
startsecs=1                   ; number of secs prog must stay running (def. 1)
startretries=3                ; max # of serial start failures (default 3)
user=root                     ; setuid to this UNIX account to run the program
redirect_stderr=true          ; redirect proc stderr to stdout (default false)
stdout_logfile=/root/demo/logs/demo.stdout.log
stdout_logfile_maxbytes=50MB  ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
stdout_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
stdout_events_enabled=false   ; emit events on stdout writes (default false)
stderr_logfile=/root/demo/logs/demo.stderr.log
stderr_logfile_maxbytes=10MB  ; max # logfile bytes b4 rotation (default 50MB)
stderr_logfile_backups=10     ; # of stderr logfile backups (default 10)
stderr_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
stderr_events_enabled=false   ; emit events on stderr writes (default false)
  • 运行 supervisord -c /etc/supervisord.conf 启动
  • 运行 ps aux | grep supervisord 查看 supervisord 是否正在运行

常用命令

supervisord: 初始启动Supervisord,启动、管理配置中设置的进程;
supervisorctl stop(start, restart) xxx,停止(启动,重启)某一个进程(xxx);
supervisorctl reread: 只载入最新的配置文件, 并不重启任何进程;
supervisorctl reload: 载入最新的配置文件,停止原来的所有进程并按新的配置启动管理所有进程;
supervisorctl update: 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启;

例子

[program:grafana-server]
command=grafana-server web
directory=/usr/local/daemon/grafana/
autostart=true
autorestart=true
startretries=3
stderr_logfile=/var/log/cloudmonitor/grafana.log
stdout_logfile=/var/log/cloudmonitor/grafana.log
user=****

https://zhuanlan.zhihu.com/p/31044788

相关文章

网友评论

      本文标题:supervisor & service

      本文链接:https://www.haomeiwen.com/subject/rwidpctx.html