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》的更多相关文章

  1. .net core系列之《.net core内置IOC容器ServiceCollection》

    一.IOC介绍 IOC:全名(Inversion of Control)-控制反转 IOC意味着我们将对象的创建控制权交给了外部容器,我们不管它是如何创建的,我们只需要知道,当我们想要某个实例时,我们 ...

  2. Asp.Net Core 内置IOC容器的理解

    Asp.Net Core 内置IOC容器的理解 01.使用IOC容器的好处 对接口和实现类由原来的零散式管理,到现在的集中式管理. 对类和接口之间的关系,有多种注入模式(构造函数注入.属性注入等). ...

  3. net core体系-web应用程序-4net core2.0大白话带你入门-8asp.net core 内置DI容器(DependencyInjection,控制翻转)的一点小理解

    asp.net core 内置DI容器的一点小理解   DI容器本质上是一个工厂,负责提供向它请求的类型的实例. .net core内置了一个轻量级的DI容器,方便开发人员面向接口编程和依赖倒置(IO ...

  4. NET Core 3.0 AutoFac替换内置DI的新姿势

    原文:NET Core 3.0 AutoFac替换内置DI的新姿势 .NET Core 3.0 和 以往版本不同,替换AutoFac服务的方式有了一定的变化,在尝试着升级项目的时候出现了一些问题. 原 ...

  5. 浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】

    原文:浏览器扩展系列----给MSTHML添加内置脚本对象[包括自定义事件] 使用场合: 在程序中使用WebBrowser或相关的控件如:axWebBrowser等.打开本地的html文件时,可以在h ...

  6. 简单讲解Asp.Net Core自带IOC容器ServiceCollection

    一.  理解ServiceCollection之前先要熟悉几个概念:DIP.IOC.DI.Ioc容器: 二.  接下来先简单说一下几个概念问题: 1.DIP(依赖倒置原则):六大设计原则里面一种设计原 ...

  7. ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件

    应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用. ASP.NET ...

  8. asp.net core 内置DI容器的一点小理解

    DI容器本质上是一个工厂,负责提供向它请求的类型的实例. .net core内置了一个轻量级的DI容器,方便开发人员面向接口编程和依赖倒置(IOC). 具体体现为Micorosoft.Extensio ...

  9. 学习笔记:GLSL Core Tutorial – Vertex Shader(内置变量说明)

    1.每个Vertex Shader都有用户定义的输入属性,例如:位置,法线向量和纹理坐标等.Vertex Shaders也接收一致变量(uniform variables). uniform vari ...

  10. .net core 2.0学习记录(三):内置IOC与DI的使用

    本篇的话介绍下IOC和ID的含义以及如何使用.Net Core中的DI. 一.我是这么理解IOC和DI的: IOC:没有用IOC之前是直接new实例来赋值,使用IOC之后是通过在运行的时候根据配置来实 ...

随机推荐

  1. android常用Linux命令

    安卓下面有个软件叫终端模拟器,其实就是Linux下的命令行,使用这些命令能有效处理问题. 1.基本知识 “/”,这个英文字母斜杠指的是根目录,类似Windows的C:\,但是Linux下只有一个根目录 ...

  2. 如何自己编译生成hadoop的eclipse插件,如hadoop-eclipse-plugin-2.6.0.jar

    不多说,直接上干货! 如何自己编译生成Eclipse插件,如hadoop-eclipse-plugin-2.6.0.jar 一.相关软件的安装和配置 (一)JDK的安装和配置 Jdk 1.7*安装并配 ...

  3. 事务操作的统计,TPS的计算,隔离级别的读提交

    对于事务操作的统计 因为InnoDB存储引擎是支持事务的,因此对于InnoDB存储引擎的应用,在考虑每秒请求数(Question Per Second,QPS)的同时,也许更应该关注每秒事务处理的能力 ...

  4. java中的this和super(构造函数)

    1.this:表示当前对象 常用的代码: public class A{ private String name; public void setName(String name){ this.nam ...

  5. vue之生命周期的一点总结

    vue的生命周期的过程提供了我们执行自定义逻辑的机会,好好理解它的生命周期,对我们很有帮助. 一.vue实例的生命周期(vue2.0) 二.生命周期描述:(参考截图) 三.例子 window.vm = ...

  6. jQuery全屏滚动插件fullPage.js中文帮助文档API

    jQuery全屏滚动插件fullPage.js中文帮助文档API   发现了一个fullPage.js插件,于是百度了一下,还就是这个插件的作用,其实有很多网站都做了全屏滚动的特效,效果也很好看,今天 ...

  7. php中的字符串常用函数(二) substr() 截取字符串

    //substr($str, startIndex, length) //截取方向都是从左向右的. //length不写默认截取到最后一个. //length为正是个数(包括开头的个数),为负是索引( ...

  8. UEditor图片焦点错位,火狐document.body.scrollTop不管用的问题

    转自 http://liyunpeng.iteye.com/blog/2068751 关于 document.body.scrollTop 在火狐浏览器中不管用的问题 看网上有人写通过判断docume ...

  9. C# 之正则表达式运用

    C#正则验证大全 Regex.IsMatch()正则表达式验证 需要引入命名空间 using System.Text.RegularExpressions;    #region 验证文本框输入为数字 ...

  10. angular2 *ngIf与[hidden]对比<转>

    在AngularJS 1中,如果想切换DOM元素的显示状态,估计你会用AngularJS 1内置的指令如:ng-show 或者 ng-hide: AngularJS 1示例: <div ng-s ...