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


    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

     
  • 相关阅读:
    day02_07 创建新目录
    day02_04 字典
    day02_02 列表切割
    day03_01 文件操作
    MS的TREE 控件使用
    使用自定义用户控件的一些经验
    Asp.net开发心得点滴[动态加载的用户控件使用事件委托,交给页面处理的事件无效问题]
    正则表达式基础学习[1]
    自定义控件无法在VS.net编辑中显示
    错误的递归
  • 原文地址:https://www.cnblogs.com/jackytang/p/9111902.html
Copyright © 2020-2023  润新知