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

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03



一、阅读前须知

  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 CoreAppls

授权后:

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

参考页面:http://qingqingquege.cnblogs.com/p/5933752.html

时间: 2024-12-28 17:19:05

ASP.NET Core "完整发布,自带运行时" 到jexus的相关文章

在Asp.Net Core MVC 3.0 视图运行时编译

在正常情况下,视图在生成的时候就会变为 xxx.Views.dll,在开发的时候,这样很不方便,因为很多的时候,我们只是修改一个样式,调整一些JavaScript代码,这个时候要把项目调试暂停下来,生成之后在看页面效果. 先通过nuget 包控制台安装: Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -Version 3.0.0 然后在Startup.cs文件,在ConfigureServices函数中加入:

将asp.net core站点发布到IIS上遇到的问题

今天第一次将整个 asp.net core 站点发布到 IIS 上,以前都是发布到 Linux 服务器上. 开始使用 dotnet publish -c release 命令发布,用浏览器访问站点时出现下面的错误: HTTP Error 502.5 - Process Failure Common causes of this issue: The application process failed to start The application process started but th

ASP.NET Core 网站发布到Linux服务器(转)

出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.NET平台被认为只适合开发企业内部应用系统. 2016年6月27日,微软正式发布.NET Core 1.0.ASP.NET 1.0和Entity Framework Core 1.0,通吃 Windows.OS X和Linux三大操作系统..

ASP.NET Core 2.1 使用Docker运行

原文:ASP.NET Core 2.1 使用Docker运行 重要提示,本文为 ASP.NET Core 2.1 如果你是 2.2 那么请将文中的镜像换为 microsoft/dotnet:2.2.0-aspnetcore-runtime 即可,其他操作一样 1.新建一个 ASP.NET Core 2.1 项目 然后运行一下项目,确保我们刚刚建立的项目可以正常运行. 2.编写 Dockerfile 新建一个文本文件,命名为 Dockerfile FROM microsoft/dotnet:2.1

Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core

第一部分:本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用. 官方文档地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio 本教程涵盖以下主题: 在 Windows Server 上安装.NET Core Hosting Bundle. 在 IIS 管理器中创建 IIS 站点. 部署 ASP.NET Cor

asp.net core WebAPI发布 以及其它学习

asp.net core WebAPI发布http://www.cnblogs.com/jhxk/articles/9305253.htmlASP.NET Core 404错误(转自其它网站)https://www.cnblogs.com/whatme/p/10031214.html[ASP.NET Core快速入门]https://www.cnblogs.com/wyt007/category/1130278.htmlWEBAPIhttps://www.cnblogs.com/niklai/t

将 ASP.NET Core 应用发布到 IIS

将 ASP.NET Core 应用发布到 IIS 原文地址:https://www.cnblogs.com/MasterLin/p/11659989.html

ASP.NET Core Linux 发布

这篇博客参考了以下文章: 1.http://www.cnblogs.com/ants/p/5732337.html 2.http://www.linuxidc.com/Linux/2016-11/137010.htm 大体类似,只是在发布期间遇到一些问题,做了一些记录.可能其他人遇到的问题都不尽相同,可以参考其他两篇文章. 配置: 服务器:centos7(hyper虚拟机) 相关工具:WinSCP(ftp工具),PuTTY 开发工具:vs2017 相关软件:nginx.supervisor 概述

ASP.NET Core 网站发布到Linux服务器

长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.NET平台被认为只适合开发企业内部应用系统. 2016年6月27日,微软正式发布.NET Core 1.0.ASP.NET 1.0和Entity Framework Core 1.0,通吃 Windows.OS X和Linux三大操作系统..NET Core作为新一代跨平台.开源的.NET平台备受瞩目