标签:
一、阅读前须知
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