.NET 开发一个服务器 应用管理工具
一:背景
1、Anno.Deploy
Anno.Deploy可以和 Anno集成使用,用于部署新的服务、启动服务、停止服务、清理服务。也可以单独使用,用于守护程序。
使用方法
1、和Anno集成使用
2、单独使用
1 2 3 | annoDeploy status 查看程序状态 annoDeploy start [workingName] 启动程序 annoDeploy stop [workingName] 停止程序 |
annoDeploy status 查看程序状态
1 2 | HelloWorldService21 UP pid 24864 admin HelloWorldService22 DOWN pid -1 admin |
annoDeploy start [workingName] 启动程序
1 2 | [17:44:15:6832]: HelloWorldService21 已启动! HelloWorldService21 UP pid 14744 admin |
annoDeploy stop [workingName] 停止程序
1 2 | [17:45:24:2212]: HelloWorldService21 已停止! HelloWorldService21 DOWN pid -1 admin |
3、annoDeploy 配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <? xml version="1.0" encoding="utf-8" ?> < configuration > <!--0,0 第一位是 工作站,第二位数据中心 (所有的 AnnoService 的 两位数不能重复例如不能存在【1,2】【1,2】) 可以存在【1,2】【2,1】 --> < IdWorker >0,1</ IdWorker > <!--App名称--> < AppName >Anno.Deploy</ AppName > <!--监听端口--> < Port >7999</ Port > <!--权重--> < Weight >1</ Weight > <!--功能 非Anno.Plugs 加入方式--> < FuncName ></ FuncName > <!--忽略的功能 Trace,Logic--> < IgnoreFuncName ></ IgnoreFuncName > <!--超时时间毫秒--> < TimeOut >300000</ TimeOut > <!--注册到的目标--> < Ts Ip="127.0.0.1" Port="7010"/> < IocDll > </ IocDll > < appSettings > <!-- 程序放置的目录--> < add key="work_directory" value="E:\AnnoDeployStorage"/> <!-- 和Anno集成使用的时候的口令--> < add key="deploySecret" value="duyanming"/> </ appSettings > </ configuration > |
4、annoDeploy 配置一个守护程序
如果是通过在线面板部署的程序不需要此步骤
在工作目录下面找到 proc
文件夹,下面的每一个文件都代表一个程序 新建一个文件 HelloWorldService21
内容:
1 2 3 4 5 6 7 8 9 10 | { "Running" : true , "AutoStart" : "1" , "AnnoProcessDescription" : "admin" , "ReStartErrorCount" :0, "Id" :24628, "WorkingDirectory" : "HelloWorldService21" , "Cmd" : "dotnet HelloWorldService.dll -p 7029" , "NodeName" : "Anno.Deploy" } |
1 2 3 4 5 6 7 8 | "Running" : true , //程序是否在运行,初次配置设置为 false "AutoStart" : "1" , //是否自动启动 "AnnoProcessDescription" : "admin" , //程序描述 "ReStartErrorCount" :0, //重启失败次数 初次配置设置为 0 "Id" :-1, //程序进程Id 初次配置设置为 -1 "WorkingDirectory" : "HelloWorldService21" , //程序名称 (程序需要放置到work_directory目录下名字为HelloWorldService21 配置文件名称和程序文件夹名称一致) "Cmd" : "dotnet HelloWorldService.dll -p 7029" , //启动命令 "NodeName" : "Anno.Deploy" //annoDeploy 的名称 |
后面在带领大家开发一个部署代理服务,希望大家多多关注,多多转发。
github Anno:https://github.com/duyanming/Anno.Core
gitee :https://gitee.com/dotnetchina/anno.core
Anno管理面板Viper:https://github.com/duyanming/Viper
欢迎加入QQ群:478399354 ,到这里我们互为师长项目学习。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库