CentOS安装使用.netcore极简教程(免费提供学习服务器)

本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用。 

仅针对CentOS,其它Linux系统类似,命令环节稍加调整;

需要提前准备好服务器地址、用户名、密码;

如果手上没有Linux系统,可使用新生命团队免费提供的公网服务器 centos.newlifex.com  

编者注:学习更好的方式可以用腾讯云的开发实验室,里面有制作的.NETCore和Mono的实验,具体请阅读:来腾讯云开发者实验室 学习.NET Core 2.0

新生命团队netcore服务器免费开放计划

 

一、准备工作

在Windows开发机上安装 xshell 和 xftp ,前者用于SSH连接Linux服务器,后者用于FTP上传下载文件。

打开xshell,新建连接,名称和主机都填 centos.newlifex.com ,(实际应用中就是你的Linux服务器地址或域名),其它默认,如下:

640?wx_fmt=png

 

点击连接,弹出一个SSH安全警告,需要接受并保存SSH密钥。

640?wx_fmt=png

 接受后要求输入用户名,我们这里输入root,选择记住用户名

 640?wx_fmt=png

 确定后,要求输入密码,新生命团队开放服务器本周的密码是 nx@1250407685

640?wx_fmt=png

为了省事,我们同样选择记住密码。

确定后,我们可以看到登录成功!同时在左边会话管理器看到了刚才创建的这个连接,以后需要同时管理很多Linux服务器的时候,这样子就方便多了。

640?wx_fmt=png

我来试试几个可能用得到的命令:

w 查看现在谁在连接这台服务器。下图看到只有我自己连着。

free -h 查看服务器内存使用情况。下图看到已用内存119M,Linux这点非常漂亮。

640?wx_fmt=jpeg

top 命令查看系统进程占用资源情况。类似于Windows任务管理器,定时刷新,按键Q退出。

640?wx_fmt=png

共63个进程,只有1个在运行,挺干净。不过底下看到有个java进程,不太爽,后面想办法干掉它。

ps aux 查看进程详细信息

640?wx_fmt=png

这下子知道,那个java进程来自 cloudmonitor,应该是云监控。 

二、安装环境

我们是奔着.Net Core而来的,重点是安装运行时环境。

为了方便和一劳永逸,我们抄捷径,先看我的配置:

640?wx_fmt=png

打开xshell的快速命令工具栏,然后添加几组快捷命令:

640?wx_fmt=png

640?wx_fmt=png

 

按钮“.Net Core

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update -y
sudo yum install -y dotnet-runtime-2.1
dotnet --info

 

 (注意:最后一行命令后面必须有一个换行,否则最后命令无法得到执行,下同

 按钮“.Net Core SDK

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update -y
sudo yum install -y dotnet-sdk-2.1
dotnet --version

 

按钮“Asp.Net Core

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update -y
sudo yum install -y aspnetcore-runtime-2.1
dotnet --info

 

按钮“卸载.Net Core

sudo yum remove -y aspnetcore-*
sudo yum remove -y dotnet-*

 

具体功能就不介绍了,来源于:https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-current

我们试试第一个按钮,安装.net core运行时,没有asp.net core,也没有.net core sdk

640?wx_fmt=png

上图看到,安装了netcore运行时2.1.1

可以用卸载按钮,然后再装另外两个,看看有什么不同。

 

三、部署应用

 用vs2017新建一个netcore控制台项目

640?wx_fmt=png

Nuget引用 NewLife.Core ,建立一个稍微高级一点的例程

640?wx_fmt=png

static void Main(String[] args)
{XTrace.UseConsole();    var svr = new ApiServer(1234){Log = XTrace.Log,EncoderLog = XTrace.Log,StatPeriod = 5};    var ns = svr.EnsureCreate() as NetServer;ns.SocketLog = XTrace.Log;ns.SessionLog = XTrace.Log;ns.LogSend = true;ns.LogReceive = true;svr.Start();Console.ReadKey();
}

如上,我们用ApiServer建立一个RPC服务,并打开全部调试日志,它内置有两个服务接口很方便测试RPC通信。

编译并发布为可移植应用:

 640?wx_fmt=png

 我们可以得到这样一个目录,运行必要的文件是dll和那个runtimeconfig.json

640?wx_fmt=png

 

用xshell连上服务,我们这里可以是 centos.newlifex.com 。

xshell工具栏上有一个绿色图标,打开xftp,左窗口地址栏进入刚才的发布目录,右窗口新建/root/ApiServer目录,并把左边必要的文件拖到右边,即可实现上传!

640?wx_fmt=png

 回到xshell中,cd ApiServer进入目录,dotnet ConsoleApp5.dll 即可执行应用,(前提是已安装netcore运行时)

640?wx_fmt=png

 客户端用码神工具XCoder(https://github.com/NewLifeX/XCoder)连接地址 tcp://centos.newlifex.com:1234,选择 Api/AllApi/Info 两个服务接口均测试通过,表明我们的.Net Core应用成功在CentOS上跑起来

640?wx_fmt=png

 

 光有运行还不够,有时候我们还要查看应用工作日志。还是用xftp,刚才右边的窗口刷新一下,可以看到多出来Log目录,就是我们的应用日志,右键传输即可下载到本地,当然也可以简单直接的往左边拖过去。

640?wx_fmt=png

 vscode打开日志文件,可以看到很详细的信息,特别是日志头,便于分析查找问题

 640?wx_fmt=png

 

 四、总结

这一篇面向Linux零基础的Windows工程师的极简教程,终于写完了,基本上足以应付八成以上的日常工作。

其它更多细节,可以在网上找到,比如怎么样把应用安装成为服务、怎么样做到开机启动,等等。 

综合过去20年写代码的经验,netcore具有极强的优势,尽管有一些小问题,但我要说,只要微软不放弃,我坚决不放弃! 

我是大石头,打1999年起,19年老码农。目前在快递行业从事数据分析架构工作,分析跑在路上的上亿包裹。欢迎大家一起C#大数据!

原文地址:https://www.cnblogs.com/nnhy/p/netcore_centos.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

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

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

相关文章

ASP.NET Core MVC+EF Core从开发到部署

笔记本电脑装了双系统(Windows 10和Ubuntu16.04)快半年了,平时有时间就喜欢切换到Ubuntu系统下耍耍Linux,熟悉熟悉Linux命令、Shell脚本以及Linux下的各种应用的安装、配置、运行。使用下来的感受是Linux确实相当好使,…

网络流及建模专题(上)

前言 不断更新中…… 这几天新坑填不下去了,回来回顾一些经典的模型套路,先拿网络流开刀,窃以为洛谷这几道网络流的题目还是非常具有代表性的,涵盖了网络流调整、多解计数、最小割、最大权闭合子图问题。 还涵盖了图论&#xff0…

基于 websocket 实现的 im 实时通讯案例

分享利用 redis 订阅与发布特性,巧妙的现实高性能im系统。为表诚意,先贴源码地址:https://github.com/2881099/im下载源码后的运行方法:运行环境:.NETCore 2.1 redis-server 2.8下载Redis-x64-2.8.2402.zip&#xff0…

ACM/ICPC 比赛生涯总结+经验分享

ACM/ICPC 比赛生涯总结经验分享 1.获奖经历 时间比赛奖励大一下ACM陕西省赛打铁大一下CCCC团队二等奖大二下ACM/ICPC全国邀请赛银奖大二下CCCC团队特等奖大三上ACM/ICPC区域赛沈阳站铜奖大三上ACM/ICPC区域赛南宁站银奖大三上ACM/ICPC EC-Final上海铜奖大三下CCCC团队特等奖大…

NCC Meetup 2018 Shanghai 活动小结

NCC Meetup 2018 上海的活动于2018年6月30日在微软上海港汇办公室进行。原本计划30人规模的小型活动,结果收到了逾60人的报名,其中大部均来到现场参加了活动。本次活动得到了微软公司的场地支持,同时非常感谢 范亮先生、 刘浩杨先生和 邹嵩…

Asp.Net Core 使用Quartz基于界面画接口管理做定时任务

今天抽出一点点时间来造一个小轮子,是关于定时任务这块的。这篇文章主要从一下几点介绍:创建数据库管理表创建web项目引入quarzt nuget 包写具体配置操作,实现定时任务处理第一步:创建一个空web项目,引入quarzt nuget …

.NET Core微服务之服务间的调用方式(REST and RPC)

一、REST or RPC ?1.1 REST & RPC微服务之间的接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等;通信比较流行的是http、soap、websockect,RPC通常基于TCP实现&am…

【记忆化搜索】【dfs】【递归】Chocolate

Chocolate 题目大意: 有一块巧克力(每一个单位有一定的美味值),判断是否可以把他分为k块美味值相等的小巧克力 原题: 题目描述 Charlie 有一块巧克力。 这块巧克力是矩形的,有 n 行 m 列一共 n m 个大…

Nuget 多平台多目标快速自动打包

构建现代的 .Net 应用离不开 Nuget 的支持,而快速打包 Nuget 成了提高生产率的有效方法。1. 前置条件为了实现 Nuget 的快速打包,我们需要先解决一些前置依赖,无论是 .Net Framework、Mono 或者 .Net Standard(.Net Core&#xff…

Identity Server 4 - Hybrid Flow - 使用ABAC保护MVC客户端和API资源

这个系列文章介绍的是Identity Server 4 实施 OpenID Connect 的 Hybrid Flow. 保护MVC客户端: Identity Server 4 - Hybrid Flow - MVC客户端身份验证, Identity Server 4 - Hybrid Flow - Claims保护API资源(这里用到了RBAC: Role-based Access Control 基于角色的访问权限控…

【图论】【并查集】矩形(ssl 1222)

矩形 ssl 1222 题目大意: 有n个矩阵,现在将有重叠部分的两个矩阵合并成一个图形,问有多少个图形 原题: 题目描述 在一个平面上有n个矩形。每个矩形的边都平行于坐标轴并且都具有值为整数的顶点。我们用如下的方式来定义块。…

Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一)

图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图。那么如何在Asp.Net Core Web Api实现图片上传存储以及生成缩略图呢?今天我就使用MongoDB作为图片存储,然后使用SixLabors作为图片处理,通过一个As…

FFT算法学习笔记

写在前边 1.辣鸡RRRR_wys之前csdn的博客,千年不更。。。还很水。。。于是开了这个Blog。。。妄图拯救一下自己 2.最近接触了一些多项式理论。于是翘掉了愉快的高频自控,通过《算导》稍稍学习了一下 3.算法竞赛中,FFT主要解决多项式的乘法等问…

System.IO.Pipelines: .NET高性能IO

本文翻译自dotnet团队博客文章:https://blogs.msdn.microsoft.com/dotnet/2018/07/09/system-io-pipelines-high-performance-io-in-net/ System.IO.Pipelines是一个新的库,旨在简化在.NET中执行高性能IO的过程。它是一个依赖.NET Standard的库&#xff…

.NET+PostgreSQL实践与避坑指南

简介.NETPostgreSQL(简称PG)这个组合我已经用了蛮长的一段时间,感觉还是挺不错的。不过大多数人说起.NET平台,还是会想起跟它“原汁原味”配套的Microsoft SQL Server(简称MSSQL),其实没有MSSQL也没有任何问题,甚至没有Windows Se…

Jimu : .Net Core 分布式微服务框架介绍

一、前言近些年一直浸淫在 .Net 平台做企业应用开发,用过的 .Net 框架不多(具体数量不清,印象深刻的有 Asp.Net MVC,WPF,其他很多都是基于微软开发的框架做些封装而形成新的框架,大都是还没起好名就湮灭在历…

.NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码

前言上一篇博客中我们可以得知通过Swagger插件可以很方便的提供给接口开发者在线调试,但是实际上Swagger附带的功能还有很多,比如使用NSwag生成客户端调用代码,进一步解放接口开发者。NSwag NSwag是一个发布在GitHub上的开源项目,…

使用.NetCore 控制台演示 熔断 降级(polly)

1、熔断降级的概念: 熔断:我这里有一根长度一米的钢铁,钢铁的熔点1000度(假设),现在我想用力把这根钢铁折弯,但是人的力有限达不到折弯的点,然后我使用火给钢铁加热,每隔…

给正在努力的您几条建议(附开源代码)

前言我是一名在广州的某家互联网公司工作,并有6年工作经验,奔着架构师与微软MVP为目标的老鸟程序员。最近回顾了下多年来走的路,有不少的弯路。今天不说技术,而是总结了一些职业生涯上的建议与大家分享。虽说今天不说技术&#xf…

.Net Core Cors中间件解析

同源策略和资源跨域共享1、同源策略同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。1.1、目的主要是为了保证用户信息的安全&#xff0c…