星尘代理StarAgent属于星尘服务平台的一部分,它自身注册为系统服务,支持Windows服务和Linux的systemd。StarAgent支持配置守护应用,在它启动时拉起目标应用,运行过程中定时检测目标应用进程,如果目标进程异常退出,它会再次拉起应用进程,保障业务的持续性。守护应用的功能,即使在没有配置服务端的情况下,也可以单机工作。
因此,StarAgent能够把普通应用(非桌面应用)“变成”后台服务,而不需要应用本身做任何修改!
星尘的安装部署可以参考 《星尘代理安装与设置》、《星尘代理企业级部署》和《[StarAgent]星尘代理守护应用》
首先需要StarServer和StarWeb文件目录及启动参数配置导致StarAgent配置文件 Config/StarAgent.config 中。
Windows环境:
<?xml version="1.0" encoding="utf-8"?> <StarAgent> <!--调试开关。默认true--> <Debug>true</Debug> <!--证书--> <Code></Code> <!--密钥--> <Secret></Secret> <!--本地端口。默认5500--> <LocalPort>5500</LocalPort> <!--更新通道。默认Release--> <Channel>Release</Channel> <!--延迟时间。重启进程或服务的延迟时间,默认3000ms--> <Delay>3000</Delay> <!--应用服务集合--> <Services> <ServiceInfo Name="starServer" FileName="StarServer.zip" Arguments="" WorkingDirectory="../star/server/" UserName="" Enable="true" Mode="Default" MaxMemory="2048" /> <ServiceInfo Name="starWeb" FileName="StarWeb.zip" Arguments="urls=http://*:6680" WorkingDirectory="../star/web/" UserName="" Enable="true" Mode="Default" MaxMemory="0" /> </Services> </StarAgent>
Linux环境:
<?xml version="1.0" encoding="utf-8"?> <StarAgent> <!--调试开关。默认true--> <Debug>true</Debug> <!--证书--> <Code></Code> <!--密钥--> <Secret></Secret> <!--本地端口。默认5500--> <LocalPort>5500</LocalPort> <!--更新通道。默认Release--> <Channel>Release</Channel> <!--延迟时间。重启进程或服务的延迟时间,默认3000ms--> <Delay>3000</Delay> <!--应用服务集合--> <Services> <ServiceInfo Name="starServer" FileName="StarServer.zip" Arguments="" WorkingDirectory="../star/server/" UserName="" Enable="true" Mode="Default" MaxMemory="2048" /> <ServiceInfo Name="starWeb" FileName="StarWeb.zip" Arguments="urls=http://*:6680" WorkingDirectory="../star/web/" UserName="" Enable="true" Mode="Default" MaxMemory="0" /> </Services> </StarAgent>
- StartWeb,需要指定一个访问端口,因此需要在Arguments中添加监听端口参数
- StraServer,在Config/Star.json中 Server设置了默认参数,因此可以不额外设置启动参数
- StarServer.zip、StarWeb.zip压缩包放在当前Agent.dll 相对目录../star/server,../star/web 当中(如下图),注意:压缩文件中没有二级文件夹。
- 最后启动StarAgent.exe/StarAgent.dll后程序会自动拉起StarWeb和StarServer两个服务。