.NET CORE .NET 5 6在华为arm 鲲鹏服务器运行
[删除(380066935@qq.com或微信通知)]
最近打算升级服务器 就想试试鲲鹏服务器到底靠不靠谱
废话不多说
先安装arm专用的mysql,根据以往的经验 实测mysql8.0拉胯,还是用5.7最快
https://mirrors.huaweicloud.com/home
安装arm版本 mysql
到华为专用的arm下载
http://arm.cloud-onlinelab.cn/
下载地址为:https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql-5.7.30.tar.gz
1.下载压缩包 wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql-5.7.30.tar.gz
2.安装依赖包 yum install -y perl openssl openssl-devel libaio perl-JSON autoconf
3.解压并安装 tar -xvf mysql-5.7.30.tar.gz cd aarch64 yum remove -y mariadb-libs yum install *.rpm
4.启动MySQL,查看状态 systemctl start mysqld systemctl status mysqld
5.登录数据库 密码生成在/var/log/mysqld.log中,通过/password查找 mysql -uroot -p进入 6.修改密码 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; mysql> use mysql; mysql> update user set host = '%' where user = 'root'; mysql> FLUSH PRIVILEGES;
其他开启远程登录的操作就和之前的一样
安装dotnet
https://bbs.huaweicloud.com/forum/thread-46787-1-1.html
【鲲鹏翱翔】鲲鹏服务器dotnet移植指南
1. 简介
.NET Core是开放源代码通用开发平台,由 Microsoft 和 .NET 社区在GitHub上共同维护。它跨平台(支持 Windows、macOS 和 Linux),并且可用于生成设备、云和 IoT 应用程序。
2. 部署环境
Packet Name | Version | Detail |
Ubuntu | Ubuntu 18.04 64bit with ARM | arm通用计算增强型 2vCPUs | 4GB | kc1.large.2 |
CentOS | CentOS 7.5 | arm通用计算增强型 2vCPUs | 4GB | kc1.large.2 |
Dotnet SDK | 2.1 | Dotnet SDK 2.1.607 for arm64
|
Dotnet SDK | 2.2 | Dotnet SDK 2.2.207 for arm64
|
Dotnet SDK | 3.0 | Dotnet SDK 3.0.101 for arm64
|
3. 安装部署
3.1替换/usr/lib64目录下的libstdc++.so.6
wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/systemreliable/libstdc%2B%2B.so.6.0.27 mv libstdc++.so.6 libstdc++.so.6.bak mv libstdc++.so.6.0.27 /usr/lib64/ ln libstdc++.so.6.0.27 libstdc++.so.6 |
3.2 安装配置ICU
下载并解压
wget http://download.icu-project.org/files/icu4c/59.1/icu4c-59_1-src.tgz tar -xzvf icu4c-59_1-src.tgz cd icu/source |
编译并配置环境变量
./configure --prefix=/usr/local/icu make -j4 make install #配置环境变量 vim /etc/profile |
修改/etc/profile文件
export PATH=$PATH:/usr/local/icu/bin #wq退出保存 |
使环境变量生效
source /etc/profile |
配置链接库
ln -s /usr/local/icu/lib/libicutu.so.59 /lib64/ ln -s /usr/local/icu/lib/libicui18n.so.59 /lib64/ ln -s /usr/local/icu/lib/libicuuc.so.59 /lib64/ ln -s /usr/local/icu/lib/libicudata.so.59 /lib64/ icuinfo |
3.3 配置dotnet
进入dotnet官网下载对应安装包。
https://dotnet.microsoft.com/download/dotnet-core
Dotnet SDK 2.1.607 for arm64
wget https://download.visualstudio.microsoft.com/download/pr/7522a153-84f6-447e-afe8-ffe2f5724478/a9370fb612f1501241b199a5e479200b/dotnet-sdk-2.1.607-linux-arm64.tar.gz |
Dotnet SDK 2.2.207 for arm64
wget https://download.visualstudio.microsoft.com/download/pr/18738093-b024-4353-96c2-4e1d2285a5e4/5e86e**a79e71486aa2b18af0214ae9/dotnet-sdk-2.2.207-linux-arm64.tar.gz |
Dotnet SDK 3.0.101 for arm64
wget https://download.visualstudio.microsoft.com/download/pr/89fb60b1-3359-414e-94cf-359f57f37c7c/256e6dac8f44f9bad01f23f9a27b01ee/dotnet-sdk-3.0.101-linux-arm64.tar.gz |
解压
mkdir -p /usr/share/dotnet && tar zxf dotnet-sdk-3.0.101-linux-arm64.tar.gz -C /usr/share/dotnet |
创建软链接
ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet |
4 示例测试
查看版本号
dotnet --version dotnet --info |
运行hello world
dotnet new console -o mydemo cd mydemo dotnet run |
5 FAQ
1.运行dotnet –version时报错。可能是ICU未安装配置好。请参考3.2节
其他一些问题可以参考
https://www.cnblogs.com/kugar/p/12630181.html
解决华为云鲲鹏服务器arm架构运行IoTDB经常自动挂掉
原因: 华为云鲲鹏服务器arm架构运行IoTDB缺少一些lib库
IoTDB有些底层依赖包,机器上的版本太低了,cp一个高版本的就行了
注意: arm架构使用arm64的包,不要用amd64包
#查找依赖包
sudo find / -name "libstdc++.so.6*"
#复制依赖包
sudo cp somewhere/libstdc++.so.6.0.25 /usr/lib64/
如果libstdc++.so.6.0.25包不存在
----centos7.6没有, 系统升级成centos8就有了
解决libstdc++.so.6: version `GLIBCXX_3.4.21' not found
解决办法参考:
https://www.cnblogs.com/sddai/p/10318086.html
下载对应版本:
https://ubuntu.pkgs.org/18.04/ubuntu-main-amd64/libstdc++6_5.3.1-14ubuntu2_amd64.deb.html
#下载下来之后,用如下命令开始解压
ar -x libstdc++6_7-20170302-1_i386.deb
tar xvf data.tar.xz
ls usr/lib/aarch64-linux-gnu/
#将上面的最新动态库(lib/i386-linux-gnu)libstdc++.so.6.0.23复制到/usr/lib64目录下,
cp libstdc++.so.6.0.23 /usr/lib64
cp usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.21 /usr/lib64
#切换工作目录至/usr/lib64:
cd /usr/lib64
#删除原来软连接:
rm -rf libstdc++.so.6
#将默认库的软连接指向最新动态库:
ln -s libstdc++.so.6.0.23 libstdc++.so.6
#认动态库升级完成。重新运行以下命令检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
华为云鲲鹏服务器arm架构安装openjdk, 使用oracle的jdk会报错
参考:
https://www.huaweicloud.com/kunpeng/software/openjdk.html
yum install java-1.8.0-openjdk
https://www.cnblogs.com/kugar/p/12630181.html