一.程序发布

1.在本机编译无误的情况下,选择发布成文件系统。注意如果使用了swagger 需要将生成的xml文档说明复制到发版包里面。否则会报错。(可以在项目的csproj 中加入

<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

)解决发布的时候不会自动生成xml文件。

2.发布完成后,使用cmd进入发布的文件版本包所在路径,执行dotnet 你的应用程序的名称.dll

3.如果执行无误,即可向Linux中部署。

二.程序部署

1.目前Linux系统采用的是centos7版本。分别位于服务器127.0.0.85 和86.

2.使用堡垒机登录后,以85为例, 使用SFTP进行文件上传(winscp)。 打开SFTP后, 我们在/home/qappsom 下建立文件夹 比如命名为”MyService”

3.复制我们本地的发版包代码至我们在上述中创建的文件里。

4.在确认复制无误的情况下,此时使用SSH登录Linux服务器。

5.执行一下命令:su root  密码为:123456

6.执行 cd /home/qappsom/MyService/

7.执行命令 dotnet  MyService.dll

在上述一切操作无误的情况下说明我们的程序在Linux上部署成功。

三.使用supervisor进行守护

  1. 使用命令 cd /etc/supervisor/conf.d/
  2. 使用 ll 命令查看该目录下有哪些配置文件。比如有 3个文件
  3. 这时候我们复制一个supervisor守护程序的配置文件。比如使用命令 cp productdetailservice.conf myservice.conf
  4. vim  myservice.conf
    以下是我我们原来 productdetailservice.conf 配置 只要我们进行一下修改
    [program:ProductDetailService]

command=dotnet Joying.Mall.ProductDetailService.API.dll
         directory=/home/qappsom/ProductDetailService/
         environment=ASPNETCORE__ENVIRONMENT=Production
         user=root
         stopsignal=INT
         autostart=true
         autorestart=true
         startsecs=3
         stderr_logfile=/var/log/productdetailservice.err.log
         stdout_logfile=/var/log/productdetailservice.out.log

以上红色字体就是我们自己程序的配置文件需要修改的地方。

program:MyService --这个名字可以自己去取

command 就是我们程序启动的命令。

directory 就是我们程序的路径。 stderr_logfile,stdout_logfile 这个就是我们在启动supervisor启动的时候错误日志位置。

编辑完成后按键盘的Esc键 然后输入:wq 完成保存(备注:q!不保存退出)

5.执行命令supervisorctl

6.执行命令update

此时在浏览器中输入127.0.0.1.85:9001 用户名user 密码123

就会看见自己的服务

7.如果没有看见自己的服务,重启一下supervisor ,分别执行命令

systemctl stop supervisord.service

systemctl start supervisord.service

netcore程序部署及守护的更多相关文章

  1. netcore程序部署 ubuntu 16.0.4 报错 The type initializer for 'System.Net.Http.CurlHandler'的解决方案

    最近业务扩展需要把netcore程序部署到ubuntu 16.0.4上,因为代码里面用到了HttpClient 请求. 部署ubuntu后一直报错 参考地址:https://github.com/do ...

  2. netcore程序部署到docker

    1.基础准备 1. ubuntu 18.04 2. docker version 18.09 3. netcore 2.1 2.简介 自从netcore支持跨平台之后,以及现在很多公司都是采用容器化部 ...

  3. netcore程序部署 docker 异常 --生成图片二维码缺少libdl

    最近因业务需求需要在程序中实现二维码图片生成,于是就用到QRCoder开发库.最终在windows环境下部署运行没问题,但切换到docker(centos7.0)后发现是有问题的. 错误信息提示:Th ...

  4. .NetCore程序在Linux上面部署的实现

    我们知道.NetCore能够实现跨平台的根本就是内置Kestrel服务器实现请求处理和不同操作系统上反向代理的实现.在windows操作系统上IIS反向代理配置非常简单.但是Linux上就较为麻烦了. ...

  5. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...

  6. jenkins + supervisor + ansible 实现netcore程序的多机一键部署

    上一篇我们简单的说到了使用jenkins+supervisor实现了一个单机版的多副本部署,但是在更多的场景下还是需要netcore程序的多机一键部署,那么多 机器间如何分发呢? 肯定不能使用scp这 ...

  7. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)

    环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...

  8. 使用PowerShell自动部署ASP.NetCore程序到IIS

    Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能.有关于更多PowerShell的信息,可参阅百度词条 接 ...

  9. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践

    原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输 ...

随机推荐

  1. php解决高并发问题

    我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键.举个例子,我们假设处理一个业务请求平均响应时间为10 ...

  2. hadoop streaming 中跑python程序,自定义模块的导入

    今天在做代码重构,以前将所有python文件放到一个文件夹下,上传到hadoop上跑,没有问题:不过随着任务的复杂性增加,感觉这样甚是不合理,于是做了个重构,建了好几个包存放不同功能的python文件 ...

  3. jQuery中删除方法empty(),remove()和detach()的区别

    empty():清空匹配的元素集合中所有的子节点,自身节点和事件都未被删除. remove():这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.但除了这个元素本身 ...

  4. python学习Day10 函数的介绍(定义、组成、使用)

    今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函 ...

  5. TS和C#的差异

    1. TS中let a : () => void; 假设有个class  B,  B里有个方法 c; 不能像C#委托一样, a = B.c;...........如果这样的话方法c里调用的thi ...

  6. 一起学libcef--搭建自己的libcef运行环境(Win32程序,错误C2220解决方案)

    转自 http://blog.csdn.net/wangshubo1989/article/details/50180413 现在就来讲讲如何在自己的win32程序中搭建libcef运行环境. 首先就 ...

  7. Selenium+TestNG+Maven+Jenkins+SVN(转载)

    转载自:https://blog.csdn.net/u014202301/article/details/72354069 一. 创建Maven项目,下载Selenium和TestNG的依赖(依赖可以 ...

  8. Python学习—基础篇之基本数据类型(二)

    Python中重要的数据结构 1.列表 2.元组 3.字典 4.集合 列表 1.创建列表 # 方式一 name = [] print(type(name)) # 执行结果 >>> & ...

  9. python标准库之operator(运算符模块)

    operator模块提供了一系列与Python自带操作一样有效的函数.例如:operator.add(x, y)和表达式x+y是等效的.那些特殊类的方法都有自己的函数名:为了方便起见,一些函数名是没有 ...

  10. PCIe link up bug 分析

    Xilinx两块开发版PCIe link up时间相差很大,Virtex-6开发版PCIe link up时间超过60ms,而Virtex-7 PCIe link up时间只有~25ms.   分析过 ...