.net core系列之《将.net core应用部署到Ubuntu》
1、首先准备一个演示项目。

2、然后将这个项目用FileZilla工具上传到Ubuntu中。
3、进入目标文件,接下来有两种方法来部署项目
a、用dotnet run命令
root@hhz-virtual-machine:~# cd /source
root@hhz-virtual-machine:/source# ls
Commom ReleaseSample ReleaseSample.sln
root@hhz-virtual-machine:/source# cd ReleaseSample
root@hhz-virtual-machine:/source/ReleaseSample# ls
appsettings.Development.json bin ops.Development.json Program.cs ReleaseSample.csproj
appsettings.Production.json obj ops.Production.json Properties ReleaseSample.csproj.user
root@hhz-virtual-machine:/source/ReleaseSample# dotnet run -c Release
服务成功开启!
// 下午3:: :业务逻辑处理中
// 下午3:: :业务逻辑处理中
// 下午3:: :业务逻辑处理中
// 下午3:: :业务逻辑处理中
// 下午3:: :业务逻辑处理中
b、用dotnet publish命令(微软推荐)
root@hhz-virtual-machine:/source/ReleaseSample# dotnet publish -o /data/output -c Release
Microsoft (R) Build Engine version 15.8.+g1ccb72aefa for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved. Restore completed in 40.19 ms for /source/ReleaseSample/ReleaseSample.csproj.
Restore completed in 40.19 ms for /source/Commom/Commom.csproj.
Commom -> /source/Commom/bin/Release/netstandard2./Commom.dll
ReleaseSample -> /source/ReleaseSample/bin/Release/netcoreapp2./ReleaseSample.dll
ReleaseSample -> /data/output/
hhz@hhz-virtual-machine:/data/output$ ls
Commom.dll Microsoft.Extensions.FileProviders.Abstractions.dll ReleaseSample.dll
Commom.pdb Microsoft.Extensions.FileProviders.Physical.dll ReleaseSample.pdb
Microsoft.Extensions.Configuration.Abstractions.dll Microsoft.Extensions.FileSystemGlobbing.dll ReleaseSample.runtimeconfig.json
Microsoft.Extensions.Configuration.dll Microsoft.Extensions.Primitives.dll System.Runtime.CompilerServices.Unsafe.dll
Microsoft.Extensions.Configuration.FileExtensions.dll Newtonsoft.Json.dll
Microsoft.Extensions.Configuration.Json.dll ReleaseSample.deps.json
hhz@hhz-virtual-machine:/data/output$ dotnet ReleaseSample.dll
服务成功开启!
// 下午3:: :业务逻辑处理中
// 下午3:: :业务逻辑处理中
// 下午3:: :业务逻辑处理中
// 下午3:: :业务逻辑处理中
4、将部署的项目设置为后台进程
a、用nohup dotnet xxx.dll &命令
root@hhz-virtual-machine:/data/output# nohup dotnet ReleaseSample.dll &
[]
root@hhz-virtual-machine:/data/output# nohup: 忽略输入并把输出追加到'nohup.out' root@hhz-virtual-machine:/data/output# ls
Commom.dll Microsoft.Extensions.Configuration.Json.dll Newtonsoft.Json.dll ReleaseSample.runtimeconfig.json
Commom.pdb Microsoft.Extensions.FileProviders.Abstractions.dll nohup.out System.Runtime.CompilerServices.Unsafe.dll
Microsoft.Extensions.Configuration.Abstractions.dll Microsoft.Extensions.FileProviders.Physical.dll ReleaseSample.deps.json
Microsoft.Extensions.Configuration.dll Microsoft.Extensions.FileSystemGlobbing.dll ReleaseSample.dll
Microsoft.Extensions.Configuration.FileExtensions.dll Microsoft.Extensions.Primitives.dll ReleaseSample.pdb
由上面的目录我们可以看出,多出了一个nohup.out文件,这个文件是用来放输入信息的:
root@hhz-virtual-machine:/data/output# tail nohup.out
// 下午3::50 :业务逻辑处理中
// 下午3::51 :业务逻辑处理中
// 下午3::52 :业务逻辑处理中
// 下午3::53 :业务逻辑处理中
// 下午3::54 :业务逻辑处理中
// 下午3::55 :业务逻辑处理中
// 下午3::56 :业务逻辑处理中
// 下午3::57 :业务逻辑处理中
// 下午3::58 :业务逻辑处理中
// 下午3::59 :业务逻辑处理中
root@hhz-virtual-machine:/data/output# tail nohup.out
// 下午3::52 :业务逻辑处理中
// 下午3::53 :业务逻辑处理中
// 下午3::54 :业务逻辑处理中
// 下午3::55 :业务逻辑处理中
// 下午3::56 :业务逻辑处理中
// 下午3::57 :业务逻辑处理中
// 下午3::58 :业务逻辑处理中
// 下午3::59 :业务逻辑处理中
// 下午3::00 :业务逻辑处理中
// 下午3::01 :业务逻辑处理中
.net core系列之《将.net core应用部署到Ubuntu》的更多相关文章
- .net core系列之《.net core内置IOC容器ServiceCollection》
一.IOC介绍 IOC:全名(Inversion of Control)-控制反转 IOC意味着我们将对象的创建控制权交给了外部容器,我们不管它是如何创建的,我们只需要知道,当我们想要某个实例时,我们 ...
- Asp.Net Core 内置IOC容器的理解
Asp.Net Core 内置IOC容器的理解 01.使用IOC容器的好处 对接口和实现类由原来的零散式管理,到现在的集中式管理. 对类和接口之间的关系,有多种注入模式(构造函数注入.属性注入等). ...
- net core体系-web应用程序-4net core2.0大白话带你入门-8asp.net core 内置DI容器(DependencyInjection,控制翻转)的一点小理解
asp.net core 内置DI容器的一点小理解 DI容器本质上是一个工厂,负责提供向它请求的类型的实例. .net core内置了一个轻量级的DI容器,方便开发人员面向接口编程和依赖倒置(IO ...
- NET Core 3.0 AutoFac替换内置DI的新姿势
原文:NET Core 3.0 AutoFac替换内置DI的新姿势 .NET Core 3.0 和 以往版本不同,替换AutoFac服务的方式有了一定的变化,在尝试着升级项目的时候出现了一些问题. 原 ...
- 浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】
原文:浏览器扩展系列----给MSTHML添加内置脚本对象[包括自定义事件] 使用场合: 在程序中使用WebBrowser或相关的控件如:axWebBrowser等.打开本地的html文件时,可以在h ...
- 简单讲解Asp.Net Core自带IOC容器ServiceCollection
一. 理解ServiceCollection之前先要熟悉几个概念:DIP.IOC.DI.Ioc容器: 二. 接下来先简单说一下几个概念问题: 1.DIP(依赖倒置原则):六大设计原则里面一种设计原 ...
- ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件
应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用. ASP.NET ...
- asp.net core 内置DI容器的一点小理解
DI容器本质上是一个工厂,负责提供向它请求的类型的实例. .net core内置了一个轻量级的DI容器,方便开发人员面向接口编程和依赖倒置(IOC). 具体体现为Micorosoft.Extensio ...
- 学习笔记:GLSL Core Tutorial – Vertex Shader(内置变量说明)
1.每个Vertex Shader都有用户定义的输入属性,例如:位置,法线向量和纹理坐标等.Vertex Shaders也接收一致变量(uniform variables). uniform vari ...
- .net core 2.0学习记录(三):内置IOC与DI的使用
本篇的话介绍下IOC和ID的含义以及如何使用.Net Core中的DI. 一.我是这么理解IOC和DI的: IOC:没有用IOC之前是直接new实例来赋值,使用IOC之后是通过在运行的时候根据配置来实 ...
随机推荐
- Asp.NET MVC 拍卖网站,拆解【1】预览与目录
本人最近带创业团队基本做完了一个艺术品拍卖的外包项目,分为网站前台(asp.net mvc5),网站管理员管理的后台使用的9900端口(asp.net mvc5),监听拍卖状态的windows服务,为 ...
- java线程状态 以及 sheep()、wait()、yield() 区别
前言 最近看到很多人都在讨论多线程的问题,于是写出了这篇博客,希望可以帮到正在学习和使用这块的朋友们,首先我们先看看两个图(两个图都来自其他码农的分享) 这两个图是一样的逻辑,这里一起罗列出来,下 ...
- springboot-22-自定义starter
先说下springboot的运行原理 springboot最主要的配置 是 @SpringBootApplication 然后这里面 @EnableAutoCOnfiguration 最为重要, 继续 ...
- 深入理解java集合框架之---------Linked集合 -----构造函数
linked构造函数 1.LinkedList(): 构造一个空列表的集合 /** * 序列化 */ private static final long serialVersionUID = 1090 ...
- HTML5学习笔记:HTML5基于本地存储SQLite的每日工作任务清单程序.[只支持chrome]
使用环境:Chrome 36.0...+ 技术:HTML5 目的:习练HTML5 功能概述:记录管理每天工作内容,便签清单 HTML5+CSS3呈现UI,JavaScript操作数据库,SQLite存 ...
- Windump 的用法/Windump 是什么?
Windump Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump.它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/入侵分析员做进一步流量分 ...
- 把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像
在上一个part<把AspDotNetCoreMvc程序运行在Docker上-part1>,已经将成功将aspdotnetcore程序运行在两个不同的容器中,目前两个容器的内容完全相同,只 ...
- 有关css和js针对不同浏览器兼容的问题
首先谈一下浏览器,虽然现在ie依然是浏览器市场的老大,大约占有67%的份额,但是由于其各方面的欠缺,用户开始选择其他浏览器作为自己浏览网页的主要 工具,比如firefox.theworld.maxth ...
- iOS开源项目周报0309
由OpenDigg 出品的iOS开源项目周报第十期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等.LazyScro ...
- ExtJs定时消息提示框,类似于QQ右下角提示,ExtJs如何定时向后台发出两个请求并刷新数据实例
原文出自:https://blog.csdn.net/seesun2012 思路: 1.加载页面,加载Ext.TaskManager.start()方法: 2.执行定时器方法: 3.获取地址向后台发送 ...