• ASP.NET Core "完整发布,自带运行时" 到jexus


    一、阅读前须知

      1.使用 jexus整合asp.net core的优点:

          1)支持多站点,同一端口可以同时支持任何多的asp.net core应用程序;
          2)应用程序启动、停止、重启与站点的启动、停止、重启等操作一致,无需手工管理asp.net core应用程序;
          3)具有应用程序崩溃后自动重启功能,为企业级不间断运行保障;
          4)具有比反向代理更高的性能优势。
      

          5)提供与IIS相同的HTTP环境参数。

      2.本文属于"完整发布",不经过Visual Studio2015 Update3发布,并且自带运行时的发布过程

      3.不需要在Linux下安装.Net Core SDK

    二、手动发布步骤

      1.使用VisualStudio2015 Update3新建 ASP.NET Core应用程序

     

    2.找到工程根目录下 "project.json"

     

      2.1 禁用 "type"

     

     

      2.2 注释 "scripts"节点

     

      2.3 添加 "runtimes"节点,centos7.1服务器

     

       2.4 CMD进入工程根目录

    cd /d 工程目录

      2.5  还原包

    dotnet restore

      2.6 发布

    dotnet publish -r centos.7-x64

     
      2.7  预览手动发布后的目录

    inDebug
    etcoreapp1.0centos.7-x64publish

    三、整合为Jexus站点,作为jexus进程后台运行

      3.1  安装jexus5.8.2

    cd /tmp
    wget linuxdot.net/down/jexus-5.8.2-x64.tar.gz
    tar zxvf jexus-5.8.2-x64.tar.gz
    cd jexus/
    cd siteconf/
    vi default

      

    3.2 添加AppHost

     

     (jexus作者介绍AppHost)

      AppHost的配置格式是:
      AppHost={CmdLine=应用程序命令行; workRoot=应用程序工作目录; Port=应用程序HTTP侦听端口},其中:
     "CmdLine" 表示启动应用程序的命令行,如:dotnet /var/www/site1/app.dll;
     "workRoot"表示应用程序工作目录,如:/var/www/site1;
     "Port"表示这个HTTP应用程序所使用的侦听端口,如:5000(Asp.Core默认端口是5000)。

     3.3 将发布的程序拷贝到服务器(inDebug etcoreapp1.0centos.7-x64publish),本人用的是WinSCP

     

     3.4 配置执行权限(重点)

     

    cd /var/www/default
    sudo chmod a+x CoreApp
    ls

     授权后:

     3.5 试运行自宿主工作情况

    cd /var/www/default
    dotnet CoreApp.dll

     

     为什么在jexus正式管控它之前要手工试试?
      1)确保应用可以成功开启

      2)减少排错步骤

      3)确认端口号

     3.6 启动jexus

     cd ../
    ./jws start

    3.7 观察asp.net core 端口情况

    sudo netstat -lntp

     

    3.8 到此一个带运行时的发布就完成了,测试下是OK的(访问端口:80,由jexus完成端口转发到5000)

     

    四、交流学习

      .NET Core & OWIN交流群:199281001

      linuxdot.net交流群:102732979

  • 相关阅读:
    一月5日
    使用Jenkins部署SpringBoot
    SpringBoot +Jpa +Thymeleaf 增删改查示例
    SpringBoot 整合 Shiro ——登录认证和权限管理
    SpringBoot 小技巧
    SpringBoot 如何测试打包部署
    SpringBoot 中MongDB的使用
    定时任务
    RabbitMQ详解
    Mybatis多数据源最简单解决方案
  • 原文地址:https://www.cnblogs.com/gaobing/p/5663012.html
Copyright © 2020-2023  润新知