分享

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

 weijianian 2016-08-09


来源:jamesbing

链接:http://www.cnblogs.com/gaobing/p/5663012.html


一、阅读前须知


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  预览手动发布后的目录


\bin\Debug\netcoreapp1.0\centos.7-x64\publish


 

三、整合为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 将发布的程序拷贝到服务器(\bin\Debug\netcoreapp1.0\centos.7-x64\publish\),本人用的是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)

 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多