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

企业文化墙设计网站推荐asp.net 做网站实例

企业文化墙设计网站推荐,asp.net 做网站实例,小程序加盟代理优势,php招生网站开发最近想在麒麟系统上运行.NET 6程序#xff0c;经过一番折腾最终完成了#xff0c;简单记录一下。目标系统:CPU: aarch64架构#xff08;ARM64)操作系统#xff1a;银河麒麟V10高级服务器系统银河麒麟V10系统#xff08;以下简称麒麟#xff09;使用的是redhat类似的dnf包…最近想在麒麟系统上运行.NET 6程序经过一番折腾最终完成了简单记录一下。目标系统:CPU: aarch64架构ARM64)操作系统银河麒麟V10高级服务器系统银河麒麟V10系统以下简称麒麟使用的是redhat类似的dnf包管理方式但是无法安装epel因此很多软件无法直接包安装。方案直接在麒麟上安装dotnet并运行dotnet程序这种方式很直接无奈dotnet不支持在ARM64架构下的包管理安装只能使用snap、安装脚本或者手动进行安装。然后snap我在麒麟上发现也不好装一直没有成功安装脚本需要连接国外的服务器我这联外网有点问题死活是装不上手动方式我觉得好麻烦直接放弃吧。感兴趣的朋友可以参考这两篇文章文章1、文章2通过docker的形式执行dotnet程序这种方式兼容性强只要对应依赖的组件有aarch64版本的docker镜像就可以用dotnet是有的麒麟也支持docker。于是乎选择的使用docker进行部署由于还需要部署数据库选择使用docker-compose是更好的选择。只需要在系统中执行dnf install docker docker-compose系统即可安装好必要的docker组件。要点记录有关如何将在Docker上运行.NET 6程序很多文章已经有写官网也有很详细的说明我就不重复了写了。.NET程序参数传递传统上.NET程序一般使用appsettings.json进行参数的设置在docker中为了配置方便更多使用环境变量进行参数的传递默认.NET依赖注入的IConfiguration就可以直接读取环境变量但是对于手动的情况需要指定AddEnvironmentVariables()方法var config new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(appsettings.json, optional: true) .AddEnvironmentVariables() .Build();如果需要设置如下参数IdentityConfig: {server.urls: http://*:5000, // 服务地址}那么在docker-compose设置中应当这么写environment:# - ASPNETCORE_ENVIRONMENTDocker- IdentityConfig__server.urlshttp://*:5000 #冒号在yaml配置中应当替换为两个连续下划线“__”dotnet读取配置的时候依然可以使用config[IdentityConfig:server.urls]获得参数。Dockerfile设置选择docker这种方式的话需要从源代码编译.NET应用因此在执行Dockerfile的时候会执行dotnet restore之类的命令强烈建议换成国内的nuget源国外的还是慢了点。国内的有华为云https://repo.huaweicloud.com/repository/nuget/v3/index.json腾讯云https://mirrors.cloud.tencent.com/nuget中国区Azurehttps://nuget.cdn.azure.cn/v3/index.json请在dotnet restore build publish添加--source https://nuget.cdn.azure.cn/v3/index.json指定使用固定的源进行编译。EMQ X设备用户名与密码登录最为非常流行的mqtt服务器emqx也提供了docker的安装方式。这里需要说一下现在很多mqtt设备只能支持固定的用户名和密码登录因此启动docker的时候需要通过文件指定在EMQX 4.4上测试通过。volumes:- ./emqx/emqx_auth_mnesia.conf:/opt/emqx/etc/plugins/emqx_auth_mnesia.conf文件内容很简单## Password hash. ## ## Value: plain | md5 | sha | sha256 | sha512 auth.mnesia.password_hash plain##-------------------------------------------------------------------- ## ClientId Authentication ##--------------------------------------------------------------------## Examples ##auth.client.1.clientid id ##auth.client.1.password passwd##-------------------------------------------------------------------- ## Username Authentication ##--------------------------------------------------------------------## Examples: auth.user.1.username test auth.user.1.password test ##auth.user.2.username fengemqtt.io ##auth.user.2.password publicpostgesql数据库文件配置由于对docker的volume机制不是很熟悉即便指定了文件夹映射./postgres_data:/var/lib/postgresql/data新建了数据库之后工作虽然一切正常但是宿主文件夹内部没有任何东西每次docker-compose down删除了容器后数据消失的一干二净。最后按照文档的对数据存储的推荐方式指定了PGDATA最后得以解决。volumes:- ./postgres_data:/var/lib/postgresql/data/pgdataenvironment:POSTGRES_PASSWORD: 123456PGDATA: /var/lib/postgresql/data/pgdata关于docker volume一些行为没太摸清楚现在感觉是如果指定一个空文件夹映射只有在容器内新生成的文件才能出现的宿主中以后有机会在研究吧。VNC设置一直比较习惯使用xrdp通过windows自带的远程桌面访问linux不过麒麟系统dnf里面并没有这个包。只能用VNC了。大体步骤和[这篇文章](https://blog.csdn.net/qq_28903377/article/details/116565345写的一样只要给麒麟安装上server并配置启动就好了我稍微简化了一下因为dnf源里面自带了tigervnc-server不需要手动下载了直接dnf install tigervnc-server客户端只要安装tigervnc-viewer就可以了。docker-compose按照docker官方的说法执行docker-compose up -d的时候会自动加载docker-compose.yml以及docker-compose.override.yml两个文件。如果使用-f参数指定其他名称的文件时比如docker-compose-linux.yml请注意docker不会自动加载docker-compose-linux.override.yml文件。docker-compose对同一个网络内的服务设置了服务名称的主机名解析因此需要在服务之间相互访问常见于反向代理时不应该使用IP而应该使用服务名称替代。docker-compose内可以指定healthcheck进行服务的健康检查如果对启动顺序要求比较高的话建议加上如何对.NET 6程序进行健康检查官方有一个文档但是一些步骤不是很清楚以后有机会单独写一篇。停止docker-compose运行的服务时不要使用docker-compose down这个命令会删除所有的容器容器产生的信息在没有正确使用volumes的情况下会丢失建议使用docker-compose stop替代。docker-compose.yml中需要谨慎设置build节中的context与dockerfile参考Dockerfile确定它的当前目录是什么设置context。成功编译并且运行docker-compose后可以删除.NET项目源代码并删除docker-compose.yml中的build设置只要不删除image容器依然可以正常启动。总结aarch64上的国产银河麒麟v10系统已经有很多软件可用了redis、pg等可能还有一些软件无法适配只支持x64平台的但是对于.NET程序来说由于runtime已经完全支持aarch64绝大部分应用可以正常运行。本文使用docker-compose在linux与windowswindows desktop wsl2上都测试.NET 6通过。
http://www.zqtcl.cn/news/835659/

相关文章:

  • 北京小企业网站建设那个做网站好
  • 怎样用模块做网站深圳网站建设制作厂家
  • 网站项目中的工作流程网站建设社区
  • 建设厅网站查询电工证件提供网站建设公司哪家好
  • 免费网站软件下载安装称多网站建设
  • 网站客户续费深圳福田地图
  • 连云港做电商网站的公司营销公司网站模板
  • 沈阳企业网站优化排名方案富阳做网站公司
  • 企业网站优化报价自己做个网站怎么赚钱
  • 做ui的网站有哪些网站建设订单模板
  • 重庆企业网站优化wordpress 接收询盘
  • 小米4路由器可以做网站嘛杭州淘宝代运营公司十大排名
  • 枞阳做网站的百度搜索入口
  • 网站建设提议徐州网站建设方案咨询
  • 昆明高端网站建设专门做游轮的网站
  • 教育培训网站抄袭网站是广西住房和城乡建设厅
  • 广州做网站建设的公司哪家好网站建设运营公司
  • 网站集约化建设 技术国内永久在线免费建站
  • 极简资讯网站开发有什么免费推广项目的好软件
  • 网站有哪几种类型如何让百度分享按钮在网站每个页面都有
  • 北京市昌平建设工程招标网站网站建设要学哪些软件有哪些方面
  • 部队内网网站建设方案诱导视频网站怎么做
  • 安徽省美好乡村建设网站郑州网站建设 论坛
  • 手机网站怎么建设软件外包公司绩效考核内容
  • 北京最大的火车站网站免费推广方式
  • 外贸网站建设系统工程公司名称大全
  • 手机视频网站建站吴江区经济开发区建设工程网站
  • 网站建设存在哪些问题学校网站手机站的建设
  • 婚恋网站设计手机免费制作网站模板
  • 北京网站建设与维护公司网络组建方案设计