一言而论:基于麒麟服务器V10的.NET部署、运行,涉及的信创产品有麒麟、金仓,使用了.NET 6 API
文章目录
- 前言
- 环境
- 硬件环境
- 软件环境
- 麒麟安装.NET
- 麒麟安装金仓数据库
- .NET与KES通讯
- 麒麟部署.NET
- 总结
- 参考资料
前言
紧跟着笔者的上一篇文章《银河麒麟V10的使用》,这次笔者调研的内容是.NET在麒麟上的部署、人大金仓数据库在麒麟上的安装,以及.NET与金仓的通讯。
环境
硬件环境
开发机:Windows电脑
宿主机:Windows电脑
软件环境
- 麒麟服务器V10 兼容版
- 金仓数据库KingbaseES V8.0(下面简称KES)
- MobaXterm
- .NET 6 runtimes
- Visual Studio 2022(下面简称VS2022)
麒麟安装.NET
- 麒麟官网找到文档《银河麒麟高级服务器操作系统软件适配常见问题指导手册》(下面简称指导手册)并下载
- 在麒麟上,从微软官网上下载.NET6环境,建议以官网为准,微软.NET 6
- 在麒麟上找到下载好的tar.gz包,在这个路径中进入终端;
- 从指导手册的目录中找到.NET CORE的安装,这里我们主要是安装.NET6 ,其他变化不大
sudo su #提权
mkdir -p $HOME/dotnet && tar zxf aspnetcore-runtime-6.0.21-linux-x64.tar.gz -C $HOME/dotnet #创建文件夹并解压到指定文件夹
vi /etc/profile #打开配置文件
#在文件内加入这两个,写入全局环境变量
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$DOTNET_ROOT
source /etc/profile #退出文件后,重新执行此文件
dotnet --info #查看.NET 信息
dotnet --version #查看.NET 版本信息
麒麟安装金仓数据库
按照《安装kingbaseES》章节-《图形化安装》操作即可
KingbaseES V8 — KingbaseES产品手册
另外,KES的管理系统KStudio(下面简称KS)在数据库安装完毕后,会跟着一起被安装,这一点和SQLServer、SSMS的分开安装不同。
为了在下面的.NET 中使用,我们使用KS来新建库、表。
需要注意点:使用企业版权限,而不是开发版权限
.NET与KES通讯
这里我们使用VS2022直接新建.NET 6 API;这里就不多说.NET怎么用了,主要讲一下需要下载个包来调用KES——sqlsugarcore.kdbndp
然后使用类似SQLServer,只是对应的类型换一下,比如SQLCommand换成KDBCommand;编程指导可以看这个:金仓数据库.NET开发案例
另外,为了能在局域网调试,将麒麟的防火墙开放数据库端口54321
firewall-cmd --list-all #展示目前防火墙规则列表
firewall-cmd --permanent --add-port=54321/tcp #添加tcp端口
firewall-cmd --reload #重新加载防火墙
麒麟部署.NET
微软文档显示可以在Linux上,通过apache或者nginx来部署.NET,这里我们为看效果,直接使用.NET自带的kestrel进行部署,对另外两种方式感兴趣的朋友们可以看下面的链接。
Host ASP.NET Core on Linux with Apache | Microsoft Learn
Host ASP.NET Core on Linux with Nginx | Microsoft Learn
- 先将开发机上打包好的publish文件夹拷贝到麒麟上;
- 在麒麟上,进入到publish文件夹中,一直进入到 WebApplication.dll路径下(看你的项目取名是啥,我这个是VS创建.NET时默认的名称)
- 在此路径下打开终端,然后输入下面命令,添加80端口到防火墙
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
- 部署dll
dotnet WebApplication1.dll --urls "http://*:80"
- 在开发机上访问浏览器,输入url即可——
http://192.168.197.136/swagger/index.html
总结
本博客讲解了如何在麒麟V10上部署并运行.NET、安装金仓数据库并实现.NET与金仓进行通讯
参考资料
- 麒麟服务器上安装.Net Core环境并发布web网站_麒麟arm64安装net5_云上飞47636962的博客-CSDN博客
- KingbaseES SQL语言参考手册 — KingbaseES产品手册
- 金仓数据库下载
- kingBase连接工具KStudio安装使用介绍_wmj5561的博客-CSDN博客)
- KingbaseES License信息手册 — KingbaseES产品手册