从0开始,部署.NetCore并构建非阻塞高并发服务器(1)

前言

最近对.NetCore很感兴趣,.Net自身也已经发展了20个年头,依赖于版本的不断迭代,以及Windows平台上的变现,可以说是所有Windows桌面开发都能借助.Net开发,但.Net本身并不开源和跨平台,一度成为了.Net发展的瓶颈,终于.NetCore出现了,可以帮助开发者在Linux以及MacOS平台开发部署.Net程序了,通过查阅了大量的资料,初步学习了如何构建.NetCore开发环境,但网上的资料大多是以.NetCore 1.0版本为主进行开发,而我在发这篇博文时官方已经提供了更新的2.1.4版本的Sdk,很多地方存在差异,本文将在2.1.4版本的Sdk基础之上进行开发。

.NetCore简介

一.什么是.NetCore

.NetCore就我个人理解而言,应该属于.NetFramework的子集,即.NetFramework的跨平台版本(BLC),早期的.NetCore版本核心代码还是依赖于.NetFramework中继承重写的,包括Runtime以及部分Libraries,现在的版本已经在早期版本的基础之上扩展了更多的Libraries支持,基本支持了.NetFramework的所有Libraries实现,这里就要说到一个.NET Standard Library的概念,具体的概念可以百度一下,这里不再赘述,下面就来开始我们的开发吧。

二.部署.NetCore

这里分别讲述一下如何在Windows以及Debian 8上部署.NetCore(更详细的以及其它平台的请参阅官网https://www.microsoft.com/net/learn/get-started/windows)

(1)Windows平台

Windows平台部署.NetCore极为简单,只需前往官网,选择Windows版本,点击下载.Net SDk即可,一路Next就可以完成部署

(2)Debian 8

不同的Linux系统部署.NetCore稍有差异,这里以Debian 8为例(这里不得不吐槽一下,工作过的公司基本都是用CentOS部署服务器,不过我个人更偏爱Debian,基本上我平时开发测试都是在Debian进行),使用Putty连接Linux远程主机(安卓建议使用JuceSSH这款软件,它提供了一个叫做JuiceSSH性能监控的插件,可以实时的查看远程主机的硬件使用率和负载,方便开发和管理),直接使用Linux主机的请忽略

第一步,安装系统组件

执行命令

apt-get update
apt-get install curl libunwind8 gettext apt-transport-https

PS:非管理员登陆请在所有命令之前添加~$ sudo,下同

第二步,注册Microsoft产品密钥

执行命令

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor> microsoft.gpg
mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg

PS:第一句无需添加~$ sudo

第三步,添加Microsoft产品源

执行命令

sh -c'echo"deb [arch = amd64] https://packages.microsoft.com/repos/microsoft-debian-jessie-prod jessie main”> /etc/apt/sources.list.d/dotnetdev.list "
PS:我之前第一次部署时就在这里出现了问题,原因在于不同版本的Debian这一命令也不同,执行完之后请查看/etc/apt/sources.list.d目录下的dotnetdev.list文件是否存在,再打开查看是否有

deb [arch = amd64] https://packages.microsoft.com/repos/microsoft-debian-jessie-prod jessie main

如果实在是搞不定,可以手动添加这个文本,并添加这句话

第四步,安装.Net SDK

执行命令

apt-get update
apt-get install dotnet-sdk-2.1.4

PS:最后一句后面的版本根据情况而来


三.验证.NetCore是否正确部署

Windows和Linux平台验证的方式一样,这里统一验证代码

在任一文件夹下打开命令提示符,执行如下命令

dotnet new console
dotnet restore
dotnet build
dotnet run

执行完之后,如果命令提示符输出:Hello World,恭喜你.NetCore部署成功,接下来的课程将详细解析这几个命令并创建一个服务器工程

你可能感兴趣的:(Server服务器)