真的,太多人辜负了.NET5!

.NET5发布一个月了,有没有动手试试?Windows服务器+Visual Studio + SQL Server做跨平台开发?那你真的辜负了这个时代!强烈建议尝试下Linux,不仅是程序部署,而是全Linux环境开发、运行、部署.NET 5项目,从开发工具到数据库到各种中间件全部Linux,你会收获无法想象的快感!真的,让我们一起拥抱Linux,大势所趋!

正视Linux

Linux开源优势

Linux是完全开源的,轻松查看源码并修改和定制,完全免费的属性也深得企业青睐,而且稳定性、安全性、灵活性都远超Windows服务器,当下全球大量数据中心的服务器已经开始向基于 Linux Server 平台转移。

开源组件最佳平台

耳熟能详的各种高并发组件,Redis、MongoDB、RabbitMQ、Nginx、Kafka等等,都是基于Linux服务器开发和发布的,虽然也为Windows Server提供了安装版本,但都是阉割版的,版本更新都严重迟滞,像Redis在Windows下的性能表现,达不到Linux下的50%。

互联网大势所趋

当下互联网技术的发展方向是容器化、K8S、DevOps、CI/CD、云原生,90%的工具环境都是基于Linux的,微软都出.NET5去适配Linux,还推出了VS Code开发工具,甚至连SQL Server都支持Linux了,互联网技术大势浩浩荡荡,顺之者昌!

我的全Linux实战经历

.NET跨平台4年多了,Linux下开发运行部署都已经有完整的解决方案了,我来给大家分享下全体的工具和技术选型(文末有做工具的打包分享)

服务器准备

不习惯双系统的小伙伴儿,可以用VMware workstation弄个虚拟机,Linux操作系统繁多,这里我推荐最新版本CentOS8。开始可能不太习惯,用用就好了。

开发环境准备

当然是Visual Studio Code,微软出品必属精品,然后是.NET5的SDK安装下插件。数据库当然是MySQL标配,不要试图用SQL Server for Linux了。

项目框架选择


这个跟Window下开发是没啥区别的,直接前后分离架构,前端Vue,后端是Core WebApi,O/RM选择的轻量级Dapper,连接MySQL也方便。

中间件选择

Redis、MongoDB、RabbitMQ,这些主流组件本身就是基于Linux开源的,终于不需要再用windows的阉割版了,一个字,爽!

部署运行

用Docker容器部署的Nginx + WebApi实例集群,然后MySQL和Redis就直接安装在Linux的宿主机上面,一个小项目就这样构建起来了。

完整开发过程

这个文字就说不清楚了,今天晚上20:00点我会开个直播,演示整套的环境安装,完整的项目手写,包括后续的部署上线过程,现场踩坑(大小写坑、路径坑、部署坑)等等,还会给梳理下.NET Framework项目迁移到.NET5,Windows环境到Linux环境迁移的注意点,希望能给大家一点帮助!扫码进微信群,晚上群里发直播链接。

扫码预约直播

直播资料领取

这里还整理了VS2019 Preview+.NET5的软件包,还有VMware workstation的安装包,以及虚拟机安装、Linux系统初始化、配置网络等视频,还有远程Linux必备的SSL工具,欢迎扫码自取。

扫码预约直播 领取资料

添加微信zhaoxihhhhh 也可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构——最小生成树之克鲁斯卡尔算法(Kruskal)

最小生成树算法 prime算法和克鲁斯卡尔算法 克鲁斯卡尔算法 思路 优先队列+并查集 Kuskal算法 【算法简介】:上一篇中的Prime算法是一种“加点式的算法”,而Kuskal算法是一种“加边式的算法”;Kuskal算法与Prime算法都是一种贪心算法,但Kruskal算法对图中存在相同权值的边…

react 版权问题_react使用fetch封装请求的方法-简单易懂

方法有很多种,这里贴一个比较优雅又简单易懂的。用class类写法,new一个实例方法。其中qs是包,类似于url拼接的方法,自行npm安装。我这里fetch使用的是dva的fetch,也可以自行使用自带的fetch ,把const fetc…

总结 Visual Studio 2019 发布以来 XAML 工具的改进

不知不觉,Visual Studio 2019 已经出到 16.8 和 16.9 Preview 了。虽然每次更新都林林总总地一大堆新功能和改进,但关于 XAML 的内容总是,always,每次都只有一点点。其实 Xamarin 相关的内容有在使劲地更新,不过和我做…

数据结构——最小生成树之prime算法(与最短路径之迪杰斯特拉算法很像)

最小生成树之prime算法 ***最小生成树:一个连通图的生成树中,所有边的权值加起来最小的生成树;称为最小生成树; 【简介】:Prime算法可在加权连通图里搜索最小生成树。即:所有边的权值之和为最小。 Prime算法是图论中求最小生成树的一种算法,与之类似的算法还有Kruskal算…

linux yum自动挂载_LINUX6安装YUM仓库和实现开机自动挂载

# LINUX6安装YUM仓库和实现开机自动挂载---------------------------------安装环境-------------------------------Redhat6镜像文件:链接:https://pan.baidu.com/s/1DKH6adbrsipM-cTzH-wBgA 百度网盘 密码是hxcbVmware Workstation虚拟机工具&#x…

与您相约.NET Conf China 2020! 新进2位重磅嘉宾

2020年12月19日由.NET众多社区联合组织主办的2020年中国.NET开发者大会将于苏州盛大开幕,明天将发布大会的直播方案,敬请关注。时间:2020/12/19-12/20主题:开源、共享、创新地点:苏州人工智能产业园本次大会以“开源、…

数据结构——最短路径之Dijkstra算法(与最小生成树的prime算法很像,建议一起看)

最短路径之Dijkstra算法 (一)Dijkstra算法 单源最短路径:就是从某一个顶点出发,到图中任意顶点之间的最短路径; 【算法概述】:Dijkstra算法适用于解决单源最短路径的问题。即:从源点到任意指定顶点之间的最短距离的问题;但Dijkstra算法要求所有边的权值非负。看过Pri…

层与特征融合_【计算机系统应用】(第122期)感受野特征增强的 SSD 目标检测算法...

点击上方“蓝字”,关注我们吧!目标检测是计算机视觉领域的一项重要任务, 是 生活中如实例分割[1] , 面部分析[2] , 汽车自动驾驶[3]、视 频分析[4] 等各种视觉应用的先决条件. 近些年, 伴随着深度卷积神经网络的充分发展[5] 以及良好的数据集注释先验工作…

Dapr微服务应用开发系列2:Hello World与SDK初接触

题记:上篇介绍了Dapr的环境配置,这次我们来动手尝试一下Dapr应用的开发Hello WorldDapr应用的Hello World其实和其他的Hello World一样简单:首先用你喜欢的语言和框架创建一个Hello World程序。比如在.NET 5下,就可以简单的这样实…

数据结构——最短路径算法之floyd算法

数据结构——最短路径算法之floyd算法 (一) Flody算法 【前言】:前面的Dijkstra算法用来解决单源最短路径的问题,即:从指定点到图上其他各点的最短路径。那么,如果我们要求图中任意两个结点之间的最短路径,如何用算法来实现呢?如果用Dijkstra来实现,就需要每次改变源…

详解python运行三种方式_详解python调用cmd命令三种方法

目前我使用到的python中执行cmd的方式有三种使用os.system("cmd")该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中“exit 1”的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况…

一个基于.Net 5开发的轻量级Quartz配置中心 - QuartzCore.Blazor

项目简介QuartzCore.Blazor 是一个基于 .Net5 开发的轻量级 Quartz 作业配置中心,实践应用 Ant Design Blazor 和 FreeSql 两个技术, 对这两个技术感兴趣的小伙伴可以加我一起学习讨论哦,对有 Quartz 有需求的小伙伴亦可以开箱即用Code First…

如何开启jvm日志_做了10个小实验:搞懂了JVM三大参数类型

本实验的目的是讲解 JVM 的三大参数类型。在JVM调优中用到的最多的 XX 参数,而如何去查看和设置 JVM 的 XX 参数也是调优的基本功,本节以实验的方式讲解 JVM 参数的查看和设置。希望大家能有所启发。标配参数常见标配参数-version,获取JDK版本…

ASP VNext 开源服务容错处理库Polly

背景Polly是一个.NET弹性和瞬态故障处理库,允许开发人员以流畅和线程安全的方式表达诸如重试,断路器,超时,隔离头和回退之类的策略。Polly面向.NET Standard 1.1(覆盖范围:.NET Core 1.0,Mono&a…

python中定制类_python定制类__str__(实例详解)

在接下来的文章中,让我们明白什么是python中的自定义类。学习什么是python的自定义类,python定制类可以扮演何种角色在python编程。当你看到像__xxx__ __slots__变量或函数名,你应该注意他们。这些在Python中有特殊用途。我们已经知道如何使用__slots__,我们也知道__len__()方法…

如何在 C# 中使用 Exceptionless

背景“Exceptionless”一词的定义是:无例外。Exceptionless可为您的JavaScript,Node,.NET Core,ASP.NET,Web API,WebForms,WPF,控制台和MVC应用程序提供实时错误报告。它将收集到的信…

xilinx7中管脚mrcc和srcc_Xilinx 7系列FPGA架构之SelectIO结构(一)

引言:从本文开始我们介绍Xilinx 7系列FPGA的SelectIO资源结构及使用,我们在进行FPGA外设硬件及软件设计时,如ADC、PHY、DDR3等,通常会涉及到该资源。本节我们介绍以下知识点:SelectIO资源概述及结构SelectIO管脚通用设…

IdentityServer4系列 | 混合模式

一、前言在上一篇关于授权码模式中, 已经介绍了关于授权码的基本内容,认识到这是一个拥有更为安全的机制,但这个仍然存在局限,虽然在文中我们说到通过后端的方式去获取token,这种由web服务器和授权服务器直接通信,不需要经过用户的…

3m格式的文件怎么转换成mp3_一招就能让PDF与其他格式文件相互转换,这样的大招你值得拥有...

大家都知道,现在不少的大佬比起用Word、Excel等等这些格式文件,它们更喜欢使用PDF文件。而我们不管是将Word、Excel等文件转换成PDF,还是将PDF转换成其他格式文件,都是一件麻烦事,更别说在手机上操作这一切了。别担心&…

如何使用 C# 中的 Tuple

开局一张图,首先声明的是 Tuple 不是什么新鲜概念,在编程语言 F#,Python 中早就有这个了,Tuple 是一种 有序的,有限不可变的,支持混杂类型的固定个数的 一种数据结构,有些朋友可能就想问了&…