zoukankan      html  css  js  c++  java
  • 在Linux环境下使用Jexus部署ASP.NET Core

    关于如何在Linux中添加ASP.NET Core运行时环境请参考我的上一篇文章,本文章将不再做赘述。

    本文章运行环境如下:
     



    (1) 安装独立版Jexus

            本教程安装的是独立版的Jexus,独立版的Jexus自带Mono,使用的是Mono的稳定版本4.8。安装 Jexus 直接使用一下命令即可(需要在root身份下执行):

        curl https://jexus.org/release/x64/install.sh|sh

    安装成功后会提示:OK, Jexus has been installed in /usr/jexus.

    (2)创建一个ASP.NET Core应用

    我们按照微软官方的ASP.NET Core文档新建一个ASP.NET Core MVC应用,输入如下命令

     
    cd /home                      //定位到home目录  
     
    dotnet new mvc -o aspnetcoreapp              // 在当前目录下创建一个MVC Web应用
     
    cd aspnetcoreapp                    //定位到aspnetcoreapp目录
     
    dotnet run               //运行应用


    注意:此处可能会抛出Warn:“Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Error -99 EADDRNOTAVAIL address not available'”。微软的解决方案:https://github.com/aspnet/KestrelHttpServer/issues/2117
            我尝试使用     ASPNETCORE_URLS="http://*:5000" dotnet run         替代    dotnet run     命令在特定的情况下可以解决此类问题




    完美解决方案:在Program.cs类 BuildWebHost方法中 添加指定的端口



                
    然后执行 dotnet run 命令即可完美解决此问题。





    (3)生成ASP.NET Core部署文件  

    我们将部署文件存放在 /var/www/aspnetcore 目录下

    命令如下:

    mkdir -p /var/www/aspnetcore                 //新建目录

    cd /home/aspnetcoreapp/     //定位到项目工程下

    dotnet publish -o /var/www/aspnetcore      //将项目工程发布在指定目录下


    发布后目录结构如下:



     因为这是一个空的项目工程,所以我们将项目工程中的视图部分复制到部署目录中







    我们来测试一下,部署工程是否运行正常

    执行如下命令

    dotnet /var/www/aspnetcore/aspnetcoreapp.dll





    测试正常,至此,我们已完成部署结构,稍后我们将在Jexus上部署运行此工程。

    (4)在Jexus 上部署 ASP.NET Core项目工程   

    Jexus 中 一个配置文件对应一个网站,因为我们需要新建一个ASP.NET Core网站的配置文件

    运行如下命令:

    cd /usr/jexus/siteconf            //定位到Jexus网站配置文件目录

    cp default aspnetcore    //复制Jexus 提供的默认配置模版(这年头谁手写?)

    vi aspnetcore    //打开我们新建的网站配置文件,然后修改如下内容(这是命令行修改,比较麻烦,忍忍就好了)




    OK,我们已经完成了ASP.NET Core网站的配置文件,下一步让我们把配置文件的默认模板干掉把

    rm -rf /usr/jexus/siteconf/default      //干掉默认的配置模板

    然后,让我们启动Jexus,看一下效果

    如果你的Jexus已经启动,运行如下命令

    sh /usr/jexus/jws restart        //重启Jexus

    如果你的Jexus是停止状态,运行如下命令

    sh /usr/jexus/jws start        //启动Jexus

    附赠送停止命令

    sh /usr/jexus/jws stop       //停止Jexus






    让我们看一下效果吧.

  • 相关阅读:
    C与设计模式---观察者模式
    如何在嵌入式产品中应用键值存储数据库
    Matlab 常用函数小结
    【Qt点滴】游戏2048
    经典ICP算法的问题
    基于矩阵分解的推荐系统实例
    【Qt点滴】UDP协议实例:简易广播实现
    【Qt点滴】:获取本机网络信息
    51单片机:光立方
    STM32单片机:四旋翼飞行器的飞控实现
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/8671212.html
Copyright © 2011-2022 走看看