当前位置: 首页 > news >正文

.NET国产化改造探索(三)、银河麒麟安装.NET 8环境

随着时代的发展以及近年来信创工作和…废话就不多说了,这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来,看操作。

上一篇介绍了如何在银河麒麟操作系统上安装人大金仓数据库,这篇文章详细介绍下在银河麒麟操作系统上安装.NET8环境。

没安装之前,在搜索引擎上先找了一下相关的文章。文章不多,有使用dotnet-install.sh的,也有使用apt -get的,看的我一愣一愣的。直到打开.NET官网,才发现正确的安装方式,早就写明白了。

下载.NET 8

打开.NET官网,找到对应的SDK并下载,我使用的是x64
在这里插入图片描述
点击x64,进入下载页面,下载SDK,并上传到服务器的某个目录下,我上传到了home目录下。
在这里插入图片描述

安装 .NET 8

按照官方给出的安装方法

在这里插入图片描述

分别执行

mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.100-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

完成后,可以看下是否安装成功,输入如下命令

dotnet --info

得到如下信息,说明没问题了。
在这里插入图片描述
根据提示,当前配置有一个问题就是只能在当前的中端能使用dotnet 环境,要所有终端生效还需要更改配置。所有需要进行一下全局配置

全局配置环境变量

根据官网给出的方法,找到/etc/profile,并编辑它

vim /etc/profile

并将如下命令添加到文件末尾

export PATH=$PATH:$HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet

在这里插入图片描述
保存退出后,输入命令使其生效。

 source /etc/profile

测试应用

打开宇宙第一IDE,新建一个Web API项目
在这里插入图片描述

起个名字,下一步,框架选择.NET 8.0
在这里插入图片描述
创建完成之后,就使用给定的示例,发布即可,发布完成后,将发布后的文件上传到了/var/www中,
在这里插入图片描述
使用如下命令,打开防火墙的80端口,

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

在这里插入图片描述

运行.NET程序,指定url和端口

dotnet WebAPI.dll --urls "http://*:80"

打开浏览器,访问http://ip地址/WeatherForecast,没任何问题!
在这里插入图片描述
至此,银河麒麟安装.NET环境完成了,但是到目前为止,断开终端后,应用的服务也暂停了。后面的文章详细介绍下如何部署应用为自动启动。

相关文章:

  • vimrc配置文件
  • android 中一个app中打开另一个app
  • 【Vue3源码】第五章 实现 reactive 和 readonly 嵌套对象绑定响应式
  • MySQL深度分页优化
  • YOLOv5改进 | 检测头篇 | 利用DynamicHead增加辅助检测头进行针对性检测(让小目标无所遁形)
  • Redis需要掌握的知识点总结,包括Redis适用场景、持久化、集群、分区、哨兵、缓存穿透
  • Spark原理——逻辑执行图
  • 笨蛋学设计模式结构型模式-外观模式【10】
  • 华为端口安全常用3种方法配置案例
  • ArcGIS Pro 标注牵引线问题
  • 51-JS鼠标,键盘,表单,粘贴板,窗口事件,遍历节点树,DOM操作:创建/添加,删除,替换
  • 『 C++ 』红黑树RBTree详解 ( 万字 )
  • js动态设置关键侦@keyframes
  • 跟着cherno手搓游戏引擎【8】按键和鼠标的KeyCode
  • LINUX基础培训十之服务管理
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • HTTP 简介
  • HTTP--网络协议分层,http历史(二)
  • Java深入 - 深入理解Java集合
  • Linux后台研发超实用命令总结
  • linux学习笔记
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • Vue小说阅读器(仿追书神器)
  • windows下使用nginx调试简介
  • 从0到1:PostCSS 插件开发最佳实践
  • 检测对象或数组
  • 实现简单的正则表达式引擎
  • 算法系列——算法入门之递归分而治之思想的实现
  • 探索 JS 中的模块化
  • 用Python写一份独特的元宵节祝福
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • No resource identifier found for attribute,RxJava之zip操作符
  • 你对linux中grep命令知道多少?
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​一些不规范的GTID使用场景
  • (11)MATLAB PCA+SVM 人脸识别
  • (2)(2.10) LTM telemetry
  • (3)(3.5) 遥测无线电区域条例
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (办公)springboot配置aop处理请求.
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (循环依赖问题)学习spring的第九天
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ... 是什么 ?... 有什么用处?
  • .Net Remoting常用部署结构
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [100天算法】-二叉树剪枝(day 48)