一:背景

  1、Anno.Deploy

  Anno.Deploy可以和 Anno集成使用,用于部署新的服务、启动服务、停止服务、清理服务。也可以单独使用,用于守护程序。

使用方法

1、和Anno集成使用

2、单独使用

    annoDeploy status                 查看程序状态
annoDeploy start [workingName] 启动程序
annoDeploy stop [workingName] 停止程序

  

annoDeploy status 查看程序状态

   HelloWorldService21                 UP        pid 24864   admin
HelloWorldService22 DOWN pid -1 admin

  

annoDeploy start [workingName] 启动程序

[17:44:15:6832]: HelloWorldService21 已启动!
HelloWorldService21 UP pid 14744 admin

  

annoDeploy stop [workingName] 停止程序

 [17:45:24:2212]: HelloWorldService21 已停止!
HelloWorldService21 DOWN pid -1 admin

  

3、annoDeploy 配置文件

<?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 内容:

{
"Running":true,
"AutoStart":"1",
"AnnoProcessDescription":"admin",
"ReStartErrorCount":0,
"Id":24628,
"WorkingDirectory":"HelloWorldService21",
"Cmd":"dotnet HelloWorldService.dll -p 7029",
"NodeName":"Anno.Deploy"
}

  

"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  

体验地址:http://140.143.207.244/Home/Login

欢迎加入QQ群:478399354 ,到这里我们互为师长项目学习。

.NET 开发一个服务器 应用管理工具的更多相关文章

  1. windows下运行的linux服务器批量管理工具(带UI界面)

    产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...

  2. 【Python之旅】第六篇(七):开发简易主机批量管理工具

    [Python之旅]第六篇(七):开发简易主机批量管理工具 python 软件开发 Paramiko模块 批量主机管理 摘要: 通过前面对Paramiko模块的学习与使用,以及Python中多线程与多 ...

  3. 邮件服务器hMailServer管理工具hMailServer Administrator汉化(转)

    //实现:邮件服务器hMailServer管理工具hMailServer Administrator的汉化 //环境: Windows Server 2008 R2 hMailServer Admin ...

  4. 通过uniCloud白捡一个在线图库管理工具,可支持图床外链

    喜欢写文章的技术大佬们,应该都有一个自己的在线图片管理工具吧. 尤其是在写markdown时,为了让我们的文章"图文并茂",显得不那么枯燥,就经常需要在合适的地方插入一些关联性的图 ...

  5. 【Nodejs】326- 从零开发一个node命令行工具

    本文由 IMWeb 社区授权转载自腾讯内部 KM 论坛.点击阅读原文查看 IMWeb 社区更多精彩文章. 什么是命令行工具? 命令行工具(Cmmand Line Interface)简称cli,顾名思 ...

  6. 快速入门PaddleOCR,并试用其开发一个搜题小工具

    介绍 PaddleOCR 是一个基于百度飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. ...

  7. 用Java开发一个本地服务管理软件

    一.最终界面先贴上最终效果图,图1为初始化界面,图二为点击启动/停止之后的中间过渡状态,图三为启动成功后弹出的提示框 把动态gif图片嵌入到jpg背景图中?用Adobe ImageReady即可办到 ...

  8. 基于SOUI开发一个简单的小工具

    基于DriectUI有很多库,比如 Duilib (免费) soui (免费) DuiVision (免费) 炫彩 (界面库免费,UI设计器付费,不提供源码) skinui (免费使用,但不开放源码, ...

  9. 远程服务器的管理工具SSH

    1.SSH是什么? SSH:Secure Shell 安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄露问题 SSH客户 ...

随机推荐

  1. ajax前后台通信验错

    目录 默认contenType下 总结以下例证: 1.当为简单JSON时 ajax controller vo 2.当为复杂JSON的时候 ajax controller vo 结果 contentT ...

  2. 使用dom4j工具:获得文本内容(四)

    package dom4j_read; import java.io.File; import org.dom4j.Document; import org.dom4j.Element; import ...

  3. HCNP Routing&Switching之OSPF LSA类型

    前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...

  4. nacos配置

    server: port: 3377 spring: application: name: nacos-config-client cloud: nacos: discovery: #nacos 服务 ...

  5. Ajax的GET,POST方法传输数据和接收返回数据

    //首先创建一个Ajax对象 function ajaxFunction(){ var xmlHttp; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new ...

  6. canvas二次贝塞尔&三次贝塞尔操作实例

    Canvas Quadratic Curve Example canvas = document.getElementById("canvas"); ctx = canvas.ge ...

  7. OKR工作法读后感

    <OKR工作法>把管理思想融入到一则创业故事中,故事细节经过了精心的设计,融入了管理智慧和踩坑填坑经验,每个细节都以小见大,耐人寻味.一千个读者,就有一千个哈姆雷特. 所以这次我不去点评大 ...

  8. php实现验证码(数字、字母、汉字)

    验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码.好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码.正所谓,技多不压身.而且,也 ...

  9. python之数据库编程

    python之数据库编程 sqlite 1.前期准备工作 导入模块: import sqlite3 连接数据库 conn = sqlite3.connect("test.db") ...

  10. 这款打怪升级的小游戏,7 年前出生于 GitHub 社区,如今在谷歌商店有 8 万人打了满分

    今天我在 GitHub 摸鱼寻找新的"目标"时,发现了一个开源项目是 RougeLike 类的角色扮演游戏「破碎版像素地牢」(Shattered Pixel Dungeon)类似魔 ...