.NET Core 服务在 ARM64 服务器中的部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET Core 服务在 ARM64 服务器中的部署相关的知识,希望对你有一定的参考价值。

参考技术A Linux 服务器 CPU 架构主要可分为: X86_64/AMD64 、 ARM64/AARCH64 两大类,大多情况使用的都是基于 AMD64 CPU 架构的服务器。但随着国产操作系统、CPU 等自主生态打造的应用产品得到越来越多的用户认可和应用,如:华为鲲鹏、统信 UOS 这类服务器不断被采购使用,而它们均有采用 ARM64 CPU 架构,所以 .NET 程序如果需要在更多的国产服务器中运行,适配 ARM64 CPU 架构将是开始的第一步。

本文的介绍并不是一个简单的 Demo 示例,而是基于一个较大项目适配 ARM64 架构改造的经验分享。

该项目的大概背景如下:

当时提出整个项目需要支持在 ARM64 CPU 架构的服务器中进行部署时,其实并没有太多担忧,因为 .NET Core 的跨平台能力与生俱来,所以随便找了个服务来测试,结果马上被打脸了,跑不起来。接着一度怀疑是运行环境的问题,尝试多次重装 .NET Core SDK,并测试了多个版本,结果还是失败。经过一番研究与确认,主要是以下3个问题:

以上主要是 .NET Core 服务本身适配 ARM64 服务器部署遇到的一些问题,不过不同的项目还是会面对不一样的情况,解决后目前来看一切正常。当然这还不包含其他配套组件的改造,比如:mysql 替换成 MariaDB 等。

以上是关于.NET Core 服务在 ARM64 服务器中的部署的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core 3.0 发布 ARM64

Ubuntu ARM64下的.NET Core 踩坑记录

实战ASP.NET Core 6 部署在 ARM 树莓派实现 DDNS 和网络唤醒

实战ASP.NET Core 6 部署在 ARM 树莓派实现 DDNS 和网络唤醒

.net core 3.0和.net5有什么区别

无法使用 ODBC 连接从 .Net Core 3.0 访问