supervisord 安装、配置
1.配置好yum源后,可以直接安装
yum install supervisor
2.输入以下指令查看安装已完成
supervisord --version
3.生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
4.修改supervisor配置文件
vim /etc/supervisord.conf
修改以下几行
#启用访问web控制界面,inet_http_server区段修改为 [inet_http_server] port=*:9001 #设置账户和密码 username=user password=123 #include区段 [include] files = supervisord.d/*.ini
注:默认子进程配置文件为ini格式,可在supervisor主配置文件中修改。
子进程配置文件路径:/etc/supervisord.d/
5.建立配置文件 demo.ini
关于 supervisor 配置文件的含义,这里不做过多的解释,可移步官网查看帮助文档:http://www.supervisord.org/configuration.html,我们在这里只做一个最简单的配置文件,刚好够启动 .NET Core 应用程序即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [program:demo] command=/usr/bin/dotnet demo.dll ; 输入执行命令,这里表示 dotnet demo.dll directory=/data/demo/publish ; 应用程序根目录 autostart= true ; 是否自动启动,当 supervisor 加载该配置文件的时候立即启动它 autorestart= true ; 是否自动重启,当执行 dotnet Deploy.Linux.dll 启动失败时,会重复的自动重启 logfile_maxbytes=50MB ; 该配置文件输出单个日志文件的大小 logfile_backups=10 ; 日志备份个数 loglevel=info ; 记录日志级别 stderr_logfile=/data/logs/demo.err.log ; 指定标准错误输出日志文件 stdout_logfile=/data/logs/demo. out .log ; 指定标准输出日志文件 environment=ASPNETCORE_ENVIRONMENT=Production ; 可配置环境变量,该环境变量将通过执行 dotnet Deploy.Linux.dll 命令的时候传入到 .NET Core 应用程序中 user=root ;启动服务的用户 stopsignal=INT redirect_stderr= true |
上面包含了几个关键的参数,都在注释中了,接下来建立日志目录,否则服务启动出错,输入命令
6.创建日志文件目录
1 | sudo mkdir -p /data/logs/ |
7.启动项
1 2 | systemctl start supervisord.service //启动supervisor并加载默认配置文件 systemctl enable supervisord.service //将supervisor加入开机启动项 |
8.防火墙设置
开放端口
firewall-cmd --zone=public --add-port=9001/tcp --permanent
重启防火墙
firewall-cmd --reload
9.常用指令
supervisorctl
输入用户
密码
status 服务名 //查看所有进程的状态
stop 服务名 //停止
start 服务名 //启动
restart 服务名 //重启
update //配置文件修改后使用该命令加载新的配置
reload //重新启动配置中的所有程序
咩咩咩
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现