• 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

  • 相关阅读:
    IOS中常见的Operation —— NSOperation
    动态语言,别再说不
    CoreImage的使用及常见滤镜工具(一)
    【iOS】用Layer创建一个三维模型以及拖动
    前端基础-html、css
    mysql数据库—索引
    mysql数据库—用户管理、pymysql模块
    mysql数据库—函数、数据备份、流程控制
    mysql数据库基本操作2
    mysql数据库—事务、存储过程
  • 原文地址:https://www.cnblogs.com/merciless/p/10675452.html
Copyright © 2020-2023  润新知