一、阅读前须知
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)
四、交流学习
.NET Core & OWIN交流群:199281001
linuxdot.net交流群:102732979
相关文章:
微软.NET 正式劈腿成功,横跨所有平台
.NET Core 1.0 CentOS7 尝试
解读发布:.NET Core RC2 and .NET Core SDK Preview 1
[.NET Core].NET Core R2安装及示例教程
ASP.NET Core 开发-中间件(Middleware)
结合Jexus + Kestrel 部署 asp.net core 生产环境
通过Jexus 部署 dotnetcore版本MusicStore 示例程序
ASP.NET Core 中文文档 第一章 入门
用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序
用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
用 Visual Studio 发布一个 Azure 云 Web 应用程序
ASP.NET Core MVC 与 Visual Studio 入门
第二章指南(4.2)添加 Controller
DotNet Core 介绍
asp.net core 中间件详解及项目实战
教你实践ASP.NET Core Authorization(免看文档教程)
asp.net core 使用 Redis 和 Protobuf 进行 Session 缓存
asp.net core 中间件详解及项目实战
第二章 指南(4.3)添加 View
dotnet core开发体验之开始MVC
dotnet core 开发体验之Routing
聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer
简析.NET Core 以及与 .NET Framework的关系
.NET Core 使用Dapper 操作MySQL
使用 CommandLineApplication 类创建专业的控制台程序
简析 .NET Core 构成体系
.NET Core也可以使用MongoDB了
.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布
.NET Core:面向未来的开源跨平台开发技术
微软说它深爱着Linux,现在它用行动证明了
移植.NET Core计划,整合各平台变得更简单了!
ASP.NET Core 介绍
通过几个Hello World感受.NET Core全新的开发体验
ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行
.NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
Asp.Net Core 发布和部署(Linux + Jexus )
学习ASP.NET Core,你必须了解无处不在的“依赖注入”
.NET Core应用类型(Portable apps & Self-contained apps)
.NET Core 1.0发布:微软开源跨平台大布局序幕
ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)
在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序
ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc
使用 dotnet watch 开发 ASP.NET Core 应用程序
ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
ASP.NET Core Docker部署
原文地址:http://www.cnblogs.com/gaobing/p/5663012.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注