码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-07-12 13:32:48      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

一、阅读前须知

 

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

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

3.jexus版本:5.8.2

4.服务器:centos7.1

 

二、手动发布步骤

  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

技术分享

 

  2.8 试运行 自宿主工作情况

cd /var/www/default
dotnet CoreApp.dll

 技术分享

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

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

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

 

   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=应用程序命令行; AppRoot=应用程序工作目录; Port=应用程序HTTP侦听端口},其中:
 "CmdLine" 表示启动应用程序的命令行,如:dotnet /var/www/site1/app.dll;
 "AppRoot"表示应用程序工作目录,如:/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 启动jexus

 cd ../
./jws start

 

3.6 观察asp.net core 端口情况

sudo netstat -lntp

 技术分享

 

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

 技术分享

 

四、交流学习

  .NET Core & OWIN交流群:199281001

  linuxdot.net交流群:102732979

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

标签:

原文地址:http://www.cnblogs.com/gaobing/p/5663012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!