首页 > 其他 > 详细

supervisor 笔记

时间:2018-10-30 15:21:45      阅读:189      评论:0      收藏:0      [点我收藏+]

1. 安装supervisor
$ sudo dnf install supervisor

2. 配置supervisor
安装完supervisor后,输入以下命令可得到配置文件:
echo_supervisord_conf > /etc/supervisord.conf

在etc下创建目录,并赋权限
mkdir -m 700 -p /etc/supervisor

在目录“ /etc/supervisor”下创建配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf

修改配置文件
vim /etc/supervisor/supervisord.conf

在文件末尾添加,注意首尾需无空格,需顶格
[include]
files=/etc/supervisor/conf.d/*.conf
在目录“/etc/supervisor”下创建dotnet core 进程配置文件存放目录“conf.d”
mkdir -m 700 /etc/supervisor/conf.d

3. 配置应用

在/ect/supervisor/conf.d/ 目录下新建一个配置文件(touch HelloWebApp.conf),取名为 HelloWebApp.conf

打开HelloWebApp.conf (vim HelloWebApp.conf),写入如下命令:
[program:xiuya]
command=dotnet xiuya.dll #要执行的命令
directory=/home/code/xiuya/bin/Release #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=www-data #进程执行的用户身份
stopsignal=INT
autostart=true #是否自动启动
autorestart=true #是否自动重启
startsecs=1 #自动重启间隔
stderr_logfile=/var/log/xiuya.err.log #标准错误日志
stdout_logfile=/var/log/xiuya.out.log #标准输出日志

4. 运行

sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf

如果启动的时候报错,可以打开位于/etc/log/supervisor/supervisord.log文件来查看具体的日志。

其中dotnet 命令输出的日志文件分别为位于

/var/log/HelloWebApp.err.log
/var/log/HelloWebApp.out.log
在这些文件里面你可以查看程序中的异常信息或者是运行信息。

打开浏览器,输入 http://localhost:5000 发现已经可以浏览了。


5. Supervisor UI 管理台

Supervisor 默认给我们提供了一个图形界面来供我们管理进程和任务,在 macOS 中默认配置的有,但是在 Linux 中我们需要手动开启一下。

打开位于/etc/supervisor/supervisord.conf文件,添加inet_http_server 节点
然后就可以通过界面来查看运行的进程了:

测试一下

最后,我们测试一下是否会自动重启,开机自动运行?

1、进程管理中干掉dot net ,发现可以重新启动。以下是日志:

2016-07-09 12:24:18,626 INFO spawned: ‘HelloWebApp‘ with pid 1774
2016-07-09 12:24:19,766 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-07-09 12:27:43,208 INFO exited: HelloWebApp (exit status 0; expected)
2016-07-09 12:27:44,223 INFO spawned: ‘HelloWebApp‘ with pid 3687
2016-07-09 12:27:45,243 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2、重启机器,发现可以自动运行。

 

 

 

参考资料:

ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识) - Savorboard - 博客园

https://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html

 

supervisor 笔记

原文:https://www.cnblogs.com/maruko/p/9876782.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!