.Net Core跨平台部署系列(一)-Supervisor(二)部署.net core
上一篇: .Net Core跨平台部署系列(一)-Supervisor(一)部署
目录
一、 介绍
1.1 配置文件
1. 上一篇Supervisor的安装文章中,我们知道生成了一个文件(/etc/supervisord.conf)和一个
目录(/etc/supervisord.d/)
2. 我们用到了supervisord.conf配置文件来启动和配置web-ui,但是另一个目录我们还没有用到
3. 这个目录就是来放我们子进程的配置文件的
1.2 子进程配置文件介绍
[program:test]#项目名,这个名字不要重复,program:是固定的
directory=/usr/local/wwwroot/test_supervisor/ ##这个是我们.net core发布程序的目录
command=/bin/bash -c "dotnet Supervisor.Test.dll --urls=http://192.168.249.161:12123"
#启动执行命令
autostart=true #supervisor启动的时候是否随着同时启动,默认True
#这个是配置子程序的启动策略的
#unexpected : 默认, 和exitcodes属性搭配使用,如果在exitcodes定义了才自动启动,正常退出不会启动
#false: 永远不自动重启
#true: 自动重启
autorestart=true
#和上面的属性搭配,如果我们想要的效果是程序运行一段时间就不启动了,是正常退出,就不要启动
#上面的属性值是 unexpected
#0表示正常退出,那么就不会重启
#exitcodes=0
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
#脚本运行的用户身份
user=root
#日志输出
stderr_logfile=/usr/local/wwwroot/test_supervisor/logs/blog_stderr.log
stdout_logfile=/usr/local/wwwroot/test_supervisor/logs/blog_stdout.log
当然配置有很多,这些是我们比较需要关注的,剩下的其他玩儿法大家可以自己看官网.
二、 准备工作
2.1 编写一个.net core的测试程序
这个博主就不演示了,博主用一个空api项目
2.3 安装.net core环境
这个博主就不说了,比较简单,微软官方文档就有
2.3 编写配置文件并放入配置目录
这个博主就采用上面的配置文件了,注意这个配置文件放在/etc/supervisord.d/目录下,且是 .ini的后缀
三、 更新配置并启动
supervisorctl status
//查看所有进程的状态supervisorctl stop test
//停止xxx 就是[program:test]中的test
名称supervisorctl start test
//启动testsupervisorctl restart test
//重启testsupervisorctl update
//配置文件修改后使用该命令加载新的配置supervisorctl reload
//重新启动配置中的所有程序
- 除了命令行以外,我们还可以用过web来操作
四、 总结
1. 本文博主介绍了.net core搭配supervisor的使用,是不是感觉要比直接dotnet-run在管理上方便些
2. 当然还有更多的配置博主没说,大家可以自己根据业务场景来搭配使用
3. 如有不对欢迎指正,希望能帮到大家