.NET 开发一个服务器 应用管理工具
一:背景
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 开发一个服务器 应用管理工具的更多相关文章
- windows下运行的linux服务器批量管理工具(带UI界面)
产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...
- 【Python之旅】第六篇(七):开发简易主机批量管理工具
[Python之旅]第六篇(七):开发简易主机批量管理工具 python 软件开发 Paramiko模块 批量主机管理 摘要: 通过前面对Paramiko模块的学习与使用,以及Python中多线程与多 ...
- 邮件服务器hMailServer管理工具hMailServer Administrator汉化(转)
//实现:邮件服务器hMailServer管理工具hMailServer Administrator的汉化 //环境: Windows Server 2008 R2 hMailServer Admin ...
- 通过uniCloud白捡一个在线图库管理工具,可支持图床外链
喜欢写文章的技术大佬们,应该都有一个自己的在线图片管理工具吧. 尤其是在写markdown时,为了让我们的文章"图文并茂",显得不那么枯燥,就经常需要在合适的地方插入一些关联性的图 ...
- 【Nodejs】326- 从零开发一个node命令行工具
本文由 IMWeb 社区授权转载自腾讯内部 KM 论坛.点击阅读原文查看 IMWeb 社区更多精彩文章. 什么是命令行工具? 命令行工具(Cmmand Line Interface)简称cli,顾名思 ...
- 快速入门PaddleOCR,并试用其开发一个搜题小工具
介绍 PaddleOCR 是一个基于百度飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. ...
- 用Java开发一个本地服务管理软件
一.最终界面先贴上最终效果图,图1为初始化界面,图二为点击启动/停止之后的中间过渡状态,图三为启动成功后弹出的提示框 把动态gif图片嵌入到jpg背景图中?用Adobe ImageReady即可办到 ...
- 基于SOUI开发一个简单的小工具
基于DriectUI有很多库,比如 Duilib (免费) soui (免费) DuiVision (免费) 炫彩 (界面库免费,UI设计器付费,不提供源码) skinui (免费使用,但不开放源码, ...
- 远程服务器的管理工具SSH
1.SSH是什么? SSH:Secure Shell 安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄露问题 SSH客户 ...
随机推荐
- jQuery中的效果(九):hide()、show()、slideUp()、slideDown()、slideToggle()、fadeOut()、fadeIn()、fadeTo()、animate等
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- 并发编程之:BlockingQueue
大家好,我是小黑,一个在互联网苟且偷生的农民工. 队列 学过数据结构的同学应该都知道,队列是数据结构中一种特殊的线性表结构,和平时使用的List,Set这些数据结构相比有点特殊,它的特殊之处在于它只允 ...
- java基础之ThreadLocal
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序.Thr ...
- Qt 6.0精简WebEngine SerialPort Multimedia等成为半残GUI框架一览
由于 Qt 集成了大量成熟模块,使之成为 C++ 领域中最好用的开源技术跨平台 GUI 开发框架.基于 Qt 能开发 Windows MacOS 传统桌面或无 GUI 应用程序.Unix/Linux ...
- 第06课:GDB 常用命令详解(中)
本课的核心内容: info 和 thread 命令 next.step.util.finish.return 和 jump 命令 info 和 thread 命令 在前面使用 info break 命 ...
- Identity用户管理入门四(修改、删除用户)
修改用户不能修改Id及用户名所以创建视图模型时需要去除,新增用户跟修改用户基本视图一直,所以不再做演示 一.新建UpdateUserViewModel视图模型 using System.Compone ...
- mysql多次连接后会产生最大失败值
解决办法 可以更改max_connection_errors的值,即提高允许的max_connection_errors的数量 1.进入mysql 1)首先查看该属性设置为多大:命令:show glo ...
- [第八篇]——Docker 容器使用之Spring Cloud直播商城 b2b2c电子商务技术总结
Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项. xxx@xxx:~# docker 可以通过命令 docke ...
- jvm运行过程
------------恢复内容开始------------ 把文件编译成字节码文件的叫编译器的前端, 线程共享的方法去和堆,非线程共享的:java虚拟机栈,本地方法栈,还有程序计数器 都是每个线程独 ...
- PHP的bz2压缩扩展工具
在日常的开发和电脑使用中,我们经常会接触到压缩和解压的一些工具,PHP 也为我们准备了很多相关的操作扩展包,都有直接可用的函数能够方便的操作一些压缩解压功能.今天,我们先学习一个比较简单但不太常用的压 ...