基于麒麟服务器V10的.NET部署、运行 + 金仓数据库

2023-09-15 16:14:55

一言而论:基于麒麟服务器V10的.NET部署、运行,涉及的信创产品有麒麟、金仓,使用了.NET 6 API


前言

紧跟着笔者的上一篇文章《银河麒麟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
Nuget包下载
然后使用类似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

  1. 先将开发机上打包好的publish文件夹拷贝到麒麟上;
  2. 在麒麟上,进入到publish文件夹中,一直进入到 WebApplication.dll路径下(看你的项目取名是啥,我这个是VS创建.NET时默认的名称)
  3. 在此路径下打开终端,然后输入下面命令,添加80端口到防火墙
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
  1. 部署dll
dotnet WebApplication1.dll --urls "http://*:80"
  1. 在开发机上访问浏览器,输入url即可——
http://192.168.197.136/swagger/index.html

总结

本博客讲解了如何在麒麟V10上部署并运行.NET、安装金仓数据库并实现.NET与金仓进行通讯

参考资料

更多推荐

BLE Mesh蓝牙mesh传输大数据包传输文件照片等大数据量通讯

1、BLEMesh数据传输现状BLEMesh网络技术是低功耗蓝牙的一个进阶版,Mesh扩大了蓝牙在应用中的规模和范围,因为它同时支持超过三万个网络节点,可以跨越大型建筑物,不仅可以使得医疗健康应用更加方便快捷,还能监测像学校这类的大型公共场所随时监测学生的安全状况。BLEMesh覆盖范围通过mesh网络的relay(中

接口自动化测试(Python+Requests+Unittest)

(1)接口自动化测试的意义、前后端分离思想接口自动化测试的优缺点:优点:测试复用性。维护成本相对UI自动化低一些。为什么UI自动化维护成本更高?因为前端页面变化太快,而且UI自动化比较耗时(比如等待页面元素的加载、添加等待时间、定位元素、操作元素、模拟页面动作这些都需要时间)为什么接口自动化维护成本较低?因为接口较稳定

nova相机功能又㕛叒叕升级了!!!拍人像更自然

nova系列手机一直以其高颜值外观和性能体验,持续热销,成为当下年轻人追捧的手机之一。其出色的影像能力,无论是日常生活中的风景拍摄还是人物拍摄,都能够拍摄出非常清晰细腻的照片,同时还配备了多种摄影模式,让用户能够拍摄出更加专业和有创意的照片。而关于人像拍摄,广大用户如今更青睐于相对原生、人物真实且细节饱满的人像特写相片

棒球教学知识架构·棒球1号位

棒球教学知识架构1.棒球运动的基本认知棒球运动的起源和发展历程棒球运动起源于19世纪中叶的美国,最初是一种儿童游戏,使用木棒和石头或木头制成的球进行比赛。后来,人们开始使用橡胶球和棒子,并规定了比赛规则和场地标准,棒球运动逐渐发展成为一项正式的体育运动。随着时间的推移,棒球运动在美国和加拿大广受欢迎,并逐渐传播到世界各

Doris 2.0.1 Dockerfile制作

镜像编译准备工作1、创建目录└──docker-build//构建根目录└──fe//FE构建目录├──dockerfile//dockerfile脚本└──resource//资源目录├──init_fe.sh//启动及注册脚本└──apache-doris-x.x.x-bin-fe.tar.gz//二进制程序包mk

最新AI创作系统+ChatGPT商业运营源码+支持GPT4.0+支持国内AI模型/支持AI绘画

一、AI创作系统SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧!SparkAi程序使用Nestjs和Vue3框架

软件设计师笔记系列(一)

😀前言在日常生活和工作中,我们依赖于各种各样的计算机系统来完成一系列复杂的任务。计算机系统不仅仅是硬件设备的集合,它还包括一系列用于协调硬件工作的软件和协议。了解计算机系统的基础知识,包括其构造和功能,是理解现代技术世界的关键步骤。在这一章节中,我们将探讨计算机系统的核心组件和原理,从中央处理单元(CPU)的功能和组

Bash脚本学习:AWK, SED

1.AWKAWK是一种编程语言,设计用于处理文件或数据流中基于文本的数据,或者使用shell管道。可以将awk与shell脚本结合使用或直接在shell提示符下使用。以上展示使用AWK分别打印第一个位置变量和第二个位置变量。建立一个文档csvtest.csv。文档内容为:one,two,threeawk-F,'{pri

C语言每日一题(9):跳水比赛猜名次

文章主题:跳水比赛猜名次🔥所属专栏:C语言每日一题📗作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶个人主页:[₽]的个人主页🏄🌊目录前言编程起因项目介绍设计思路1.整体逻辑2.具体逻辑代码展示效果展现结语前言编程起因最近牛客网刷到的一个编程题,综合运用了循环和条件判断语句,觉得该题

数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC...

全文链接:http://tecdat.cn/?p=27384在本文中,数据包含有关葡萄牙“VinhoVerde”葡萄酒的信息(点击文末“阅读原文”获取完整代码数据)。介绍该数据集(查看文末了解数据获取方式)有1599个观测值和12个变量,分别是固定酸度、挥发性酸度、柠檬酸、残糖、氯化物、游离二氧化硫、总二氧化硫、密度、

跨端开发方案之桌面应用小程序

小程序容器技术的未来是充满希望的,它为我们开辟了一个全新的数字世界,连接了桌面操作系统和移动生态系统之间的界限。正如技术不断演进,我们可以期待着更多的创新和发展,为用户带来更加便捷和多样化的应用体验。这一技术的推广和应用将继续推动数字科技的发展,塑造着未来的数字生活。QtGroup在提及2023年有桌面端应用程序开发热

热文推荐