如何将.Net Core应用程序部署在Linux操作系统上运行
.Net Core简介
- 跨平台: 可以在 Windows、macOS 和 Linux 操作系统上运行。
- 跨体系结构保持一致: 在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。
- 命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具。
- 部署灵活: 可以包含在应用或已安装的并行(用户或系统范围安装)中。 可搭配 Docker 容器使用。
- 兼容性: .NET Core 通过 .NET Standard与 .NET Framework、Xamarin 和 Mono 兼容。
- 开放源代码: .NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET Core 是一个 .NET Foundation 项目。
- 由 Microsoft 支持: .NET Core 由 Microsoft 依据 .NET Core 支持提供支持。
环境说明
开发环境 :Win10 > Visual Studio 2019 > .Net Core 2.1
运行环境:Linux > CentOS 7
演示Demo:使用.Net Core 开发一个网络爬虫工具,将指定网址的所有图片下载到本地
在CentOS上部署.Net Core运行时环境
1、打开CentOS 通过root登入系统
2、右键打开终端
3、注册Microsoft签名密钥,然后添加Microsoft产品Feed。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
4、更新可用于安装的产品列表,安装.NET Core所需的组件,然后安装.NET Core 运行时环境。
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.1
后续更新提示,确认(y)即可
5、安装完毕后我们可以通过“dotnet --version”命令来测试是否安装成功(结果如图安装成功)
创建.Net Core应用程序
1、选择.Net Core控制台程序
2、写一个demo用于获取指定贴吧中的所有图片
using System;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
using System.Threading; namespace WebSpider
{
class Program
{
static void Main(string[] args)
{
var l_strSaveDir = "imgs";
var l_strHostName = "http://tieba.baidu.com/"; using (var l_webClient = new WebClient())
{
l_webClient.BaseAddress = l_strHostName; if (!Directory.Exists(l_strSaveDir))
Directory.CreateDirectory(l_strSaveDir); Console.WriteLine("正在加载网络资源..."); new Thread(() =>
{
var l_strHtml = l_webClient.DownloadString(l_strHostName + "f?kw=java");
var l_strMtchImgPattern = "<img src=\"(\\S+)\"";
var l_mtchImgs = Regex.Matches(l_strHtml, l_strMtchImgPattern, RegexOptions.IgnoreCase); var l_iImgCount = l_mtchImgs.Count;
Console.WriteLine("资源加载完毕,正在下载");
for (int i = ; i < l_iImgCount; i++)
{
var l_strImgUrl = l_mtchImgs[i].Groups[].Value;
l_webClient.DownloadFile(l_strImgUrl, Path.Combine(l_strSaveDir,Guid.NewGuid()+"."+Path.GetExtension(l_strImgUrl)));
Console.WriteLine(string.Format("正在下载({0}/{1})", (i + ).ToString(), l_iImgCount.ToString()));
}
Console.WriteLine(string.Format("图片已全部下载完毕,保存地址{0}",l_strSaveDir)); }).Start();
}
}
}
}
3、编译通过后右键解决方案选择发布
4、选择文件夹点击发布
5、进入发布目录复制编译好的执行文件
6、进入CentOS创建一个目录用于存放编译好的执行文件
6.1 由于我的CentOS是装在本地的虚拟机上面,所以为了方便将编译好的文件复制到CentOS上面。需要进行以下设置
7、将之前编译复制好的执行程序直接粘贴到虚拟机CentOS里创建好的目录下
8、打开终端执行程序
9、执行结果
10、由图可知,我们的.Net Core应用程序在Linux上已经执行成功
如何将.Net Core应用程序部署在Linux操作系统上运行的更多相关文章
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...
- VisualStudioCode创建的asp.net core控制台程序部署到linux
1.asp.net core控制台程序 static void Main(string[] args) { ; ) { Console.WriteLine("Hello World!&quo ...
- .net core 部署在Linux系统上运行的环境搭建总结
安装Linux用的是腾讯云的centos7.5,需要安装有环境有mysql5.7 .netcore2.1 nginx1.14 1.首先是mysql的安装 我用的链接工具是putty,首先root登入 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署
运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...
- ASP.NET Core教程:ASP.NET Core程序部署到Linux
一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...
- springboot 定时任务部署至linux服务器上后会执行两次问题
springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...
- ireport部署到Linux服务器上遇到的问题解决
ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...
- Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项
PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...
随机推荐
- Mongo--04 Mongo分片集群
目录 一.分片的概念 二. 分片工作原理 三.IP端口目录规划 1.IP端口规划 2.目录规划 四.分片集群搭建副本集步骤 1.安装软件 2.创建目录 3.创建配置文件 4.优化警告 5.启动服务 6 ...
- 1118. Birds in Forest (25)
Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in ...
- luogu P3601 签到题
链接P3601 签到题 求\[\sum_{i=l}^{r} i-\phi_i\] \(l,r\leq 10^{12},\ r-l\leq 10^6\) 杜教筛似乎做不了. 然后再看\(l\),\(r\ ...
- 强大的VS插件CodeRush发布v19.1.4|支持Visual Studio 2019
CodeRush是一个强大的Visual Studio .NET 插件,它利用整合技术,通过促进开发者和团队效率来提升开发者体验. [CodeRush for Visual Studio v19.1. ...
- hadoop中yarn
一.yarn的概述 Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管理器系统,Yarn从hadoop 2引入,最初是为了改善Map ...
- Django orm(1)
目录 一.orm查询 1.1配置测试脚本 1.1.1Django终端打印SQL语句的配置 1.2单表操作 1.2.1创建数据 1.2.2修改数据 1.2.3删除数据 1.2.4查询数据 1.2.5计数 ...
- CSS3文本阴影、边框阴影
CSS3添加阴影 一.使用text-shadow属性为文本添加阴影 二.使用box-shadow属性为边框添加阴影 一.为文本添加阴影 text-shadow 使用text-shadow,可以 ...
- 【bzoj1975】[Sdoi2010]魔法猪学院
*题目描述: iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的:元 ...
- Leetcode 1. Two Sum(hash+stl)
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- python 获取list某个元素下标
index() 函数用于从列表中找出某个值第一个匹配项的索引位置. list.index(x, start, end) #start end 指示搜索的起始和结尾位置,缺省为整个数组 x-- 查找的对 ...