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

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
日志服务 SLS,月写入数据量 50GB 1个月
简介: 原文:CentOS安装使用.netcore极简教程(免费提供学习服务器)本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用。
原文: CentOS安装使用.netcore极简教程(免费提供学习服务器)

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

 

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

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

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

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

 

一、准备工作

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

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

 

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

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

 

 确定后,要求输入密码,新生命团队开放服务器本周的密码是 nx@1250407685,预计2018-07-15后修改

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

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

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

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

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

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

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

ps aux 查看进程详细信息

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

 

二、安装环境

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

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

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

 

按钮“.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

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

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

 

三、部署应用

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

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

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通信。

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

 

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

 

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

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

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

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

 

作为后台进程运行:

nohup dotnet ConsoleApp5.dll &

 

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

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

 

 

 四、总结

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

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

 

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

 

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

 

End.

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
14天前
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:<https://github.com/khellang/Scrutor>
37 5
|
24天前
|
开发框架 前端开发 JavaScript
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
|
1月前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
1月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
41 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
22天前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
24 3
|
22天前
|
缓存 Linux
解决CentOS 7停止更新后yum源失效问题【图文教程】
以上步骤完成后,你的 CentOS 7 系统就会使用阿里云的 yum 源,更换yum以后就可以正常使用啦。
444 2
|
2月前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
174 1
|
2月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
111 1
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
346 3
|
2月前
|
开发框架 NoSQL MongoDB
C#/.NET/.NET Core开发实战教程集合
C#/.NET/.NET Core开发实战教程集合

热门文章

最新文章