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

.NET Core 服务在 ARM64 服务器中的部署,第1张

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 等。

借鉴:

https://blog.csdn.net/YKWNDY/article/details/107025041

https://blog.csdn.net/weixin_41919735/article/details/122554337

cd /usr/local

将部署包:mysql-5.7.27-aarch64.tar.gz 上传到 /usr/local 下

tar xvf mysql-5.7.27-aarch64.tar.gz

mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql

mkdir -p /usr/local/mysql/logs

ln -sf /usr/local/mysql/my.cnf /etc/my.cnf

cp -rf /usr/local/mysql/extra/凳耐lib* /usr/lib64/

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old

ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6

groupadd mysql

useradd -g mysql mysql

chown -R mysql:mysql /usr/local/mysql

cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/李粗戚mysqld

systemctl enable mysqld

vim /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

source /etc/profile

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

systemctl start mysqld

systemctl status mysqld

移动文件 mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql

创建logs目录 mkdir -p /usr/local/mysql/logs

ln -sf a b 建立软连接,b指向a:ln -sf /usr/local/mysql/my.cnf /etc/my.cnf

cp是linux里的拷贝命令-r 是用于目录拷贝时的递归 *** 作-f 是强制覆盖:cp -rf /usr/local/mysql/extra/lib* /usr/lib64/

创建mysql组:ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6

创建mysql用户添加到mysql组:groupadd mysql &&useradd -g mysql mysql

将/usr/哪陵loca/mysql目录包含所有的子目录和文件,所有者改变为root,所属组改变为mysql:chown -R mysql:mysql /usr/local/mysql

设置开机启动:

cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

systemctl enable mysqld

添加环境变量:

vim /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=PATH:PATH:PATH:MYSQL_HOME/bin

source /etc/profile

初始化mysql:mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

开启mysql:systemctl start mysqld

查看状态:systemctl status mysqld

嵌入式多核处理器。

嵌入式多核处理器已逗老经在嵌入式设备领域得山庆升到广泛运用,但嵌人式系统软件开发技术还停留在传统单核模式,并没有充分发挥多核处理器的性能。程序并行化优化目前在PC平台上有一定运用,但在嵌入式平台上还很少,另外,嵌入式多核处理器与PC平台多核处理器有很大不同,因此不能直接将PC平台的并行化优化方法应用到嵌人式平台。本文分别从任务并行和缓存优化两方面进行并行化优化的研究,探索在嵌人式多核处理器上对程序进行并行化优化的方差伏法。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12468738.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存