netcore程序部署及守护

一.程序发布

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

原文地址:https://www.cnblogs.com/merciless/p/10675452.html