用新生命.NET Linux在线安装工具给银河麒麟V10安装.NET运行时,用NewLife.Agent+http做Web服务

本文主要说三点:

  1. 使用新生命NewLife的.NET Linux在线安装工具给国产操作系统银河麒麟安装.NET Runtime运行时(也可以是SDK),超级简单

  2. 使用NewLife.Agent加标准的ASP.NET的http主机做Web服务,监视服务,秒级拉起。

  3. 简单介绍更加强大的StarAgent星尘代理,核心还是NewLife.Agent。

2023年起开始在项目中使用大石头所主导的新生命开源组件:NewLife.Agent,当时写了篇文章《使用新生命的NewLife.Agent将控制台程序变成Windows服务程序》。2025年升级到最新版,还写了篇《新生命NewLife.Agent添加菜单:AddMenu过期,建议定义命令处理类,并继承 BaseCommandHandler》 ,最近研究国产操作系统,顺便研究了一下新生命的更多用法。

安装.NET运行时非常简单,只需要用到下面的语句即可,默认安装最新版,当前是.NET 9:

curl http://x.newlifex.com/dotNet/net.sh | sudo bash

可指定.NET版本如:

curl http://x.newlifex.com/dotNet/net6.sh | sudo bash
curl http://x.newlifex.com/dotNet/net8.sh | sudo bash

安装完毕后,使用dotnet --info显示信息如下:

cuiwenyuan@cuiwenyuan-pc:~$ dotnet --info
Host:  Version:      9.0.4  Architecture: x64  Commit:       f57e6dc747  RID:          linux-x64
.NET SDKs installed:  No SDKs were found.
.NET runtimes installed:  Microsoft.AspNetCore.App 6.0.36 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]  Microsoft.AspNetCore.App 8.0.15 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]  Microsoft.AspNetCore.App 9.0.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]  Microsoft.NETCore.App 6.0.36 [/usr/share/dotnet/shared/Microsoft.NETCore.App]  Microsoft.NETCore.App 8.0.15 [/usr/share/dotnet/shared/Microsoft.NETCore.App]  Microsoft.NETCore.App 9.0.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:  None
Environment variables:  Not set
global.json file:  Not found
Learn more:  https://aka.ms/dotnet/info
Download .NET:  https://aka.ms/dotnet/download

新生命.NET Linux在线安装工具。支持服务器和桌面环境,自动识别指令集架构,支持x86/x64/arm/arm64/mips64/loongarch64/riscv64。

其实也前也介绍过新生命的另一款针对Windows下的.NET神器:《DotNet运行时安装助手:新生命NewLife的幸运四叶草LuckyClover

讲完了安装运行时,下面看看运行.NET程序有多简单!

把程序复制到银河麒麟电脑桌面或任意指定路径,如桌面publish目录。

只需要执行如下命令,即可运行.NET服务程序即Web服务:

sudo dotnet '/home/cuiwenyuan/桌面/publish/Zero.Web.dll'

这里一定要注意为了安装服务代理,一定要要使用sudo来运行命令。

命令执行时会收到提醒,来自安全中心的默认提示,当然选择允许才行。

模拟运行的时候会弹出一些安全提示,这是银河麒麟操作系统的安全中心默认提醒。

模拟运行,Web服务正常。

浏览器访问效果如下:

其实如何把标准的ASP.NET的Web服务使用NewLife.Agent来做服务宿主,源代码很简单,可以到NewLife.Agent的Git库拖下来代码,找到Zero.Agent参考一下。

核心代码如下:

public class Program{    private static void Main(String[] args)    {#if DEBUG        //调试环境默认启动        if (args?.Length == 0)            args = ["-run"];#endif
        new MyServices { StartAct = () => CreateHostBuilder(args) }.Main(args);    }
    public static IHostBuilder CreateHostBuilder(String[] args) =>    Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args)        .ConfigureWebHostDefaults(webBuilder =>        {            webBuilder.UseStartup<Startup>();        });}

来到第三部分,我们来认识下星尘代理StarAgent,看下图就知道这个是干啥的了。

StarAgent部署在每台应用服务器,或桌面系统,或边缘网关。作为系统服务,通过配置拉起并守护业务应用进程,同时用于收集监控各服务器性能,支持Windows/Linux/macOS/IoT(包括各种国产系统)。

星尘代理功能特点

  1. 自启动。自身注册为系统服务,随操作系统自动启动。

  2. 多系统。支持Windows、Linux、macOS、IoT边缘网关、OpenWRT以及各种国产操作系统。

  3. 性能监测。定时上报节点性能,包括CPU内存磁盘以及网络指标。

  4. 应用管理。读取配置文件,启动多个目标应用。

  5. 应用守护。监测应用进程,如有退出或内存超限则重新启动。

  6. 自动更新。根据节点版本配置策略,支持不同环境的版本升级。

  7. 运行时安装。星尘平台的节点框架,支持下发策略给代理,安装特定版本的dotNet运行时。

Windows安装方法:下载并解压 http://x.newlifex.com/star/staragent80.zip ,管理员执行以下命令完成安装并指定服务端。

StarAgent.exe -install -server http://star.newlifex.com:6600

Linux安装方法:管理员执行一下命令完成安装,安装过程需要联网下载文件,企业内网建议下载并自定义脚本。

curl http://x.newlifex.com/star/star.sh | sudo bash

虽然还没有正式在项目中使用,但已经安排上了日程,等有了心得体会再来给大家分享。

正文结束,更多有关新生命开源组件及使用方法,请访问官方网站:https://newlifex.com/

----------

还没有关注微信视频号的,请您关注下,收看旺财码农原创短视频。

如果本文对您有启发,请点击顶部“关注”或者右下角“在看”。

老读者建议“星标”,没有任何互动,系统可能不会在第一时间推送给你。

我知道你一直在看,所以我一直在写。

看了以上文字,有共鸣,有感触,欢迎留言评论!

等你已久,只为同行。

更欢迎扫码加我微信交流。

觉得文字有价值,请给我赞赏鼓励。

欢迎分享本文到微信朋友圈,转载请保留出处

祝你开心每一天!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值