ASP.NET Core 部署于各种环境

------------------------------------------------------------------------------------Linux Kestrel 部署aspnetcore.web----------------------------------------------------------------

1.部署于Linux环境用Kestrel 托管

前置条件是安装aspnetcore 运行时或者netcore sdk 这里安装 sdk,安装sdk还是采用手动下载然后通过ftp上传安装包到linux 安装包下载 https://dotnet.microsoft.com/download/dotnet-core/3.1 

下载后 tar -zxvf  dotnet-sdk-3.1.101-linux-x64.tar.gz  /usr/local/dotnet 

vim /etc/profile  增加如下配置:

export DOTNET_ROO=/usr/local/dotnet

export PATH=$PATH:/usr/local/dotnet

:wq 退出 运行 source /etc/profile

输入 dotnet --version 或者 dotnet --info 提示 dotnet 版本信息即安装成功。

详细配置信息可参考文档:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1

基础配置如下,WebHost.CreateDefaultBuilder() 默认使用Kestrel ,Kestrel参数配置可以用UseKestrel配置,如设置监听端口。

这里采用UseUrls 用一个host.json 来配置url规则和端口。

发布配置如下图:

点击发布到本地后,利用ftp上传到服务器后 切换到该目录后

输入 dotnet aspnetapp.dll &   注意这里加一个 & 表示以后台进程运行。

输入 curl http://localhost:8090   看到返回html元素表示成功。

备注:可以输入jobs 查看后台运行进程 ,这里输入会看到8090 运行端口即web站点进程。

可以用 kill %num  num表示进程ID  结束进程

------------------------------------------------------------------------------------Linux Kestrel 部署aspnetcore.web----------------------------------------------------------------

------------------------------------------------------------------------------------Windows IIS 部署aspnetcore.web------------------------------------------------------------------

aspnet.core 2.x 与3.x有一定区别,如果是aspnetcore2.x版本因为是支持netframework框架的,所以用传统framework框架托管模式部署,本章主要讲aspnetcore3.0 部署于IIS的经验。

aspnet.core3.0是基于无托管模式的,是基于跨完全跨平台的版本,即windows也算是一个跨平台操作系统。

第一步发布包配置:

 

 

第二步发布包后会生成web.config 如下(如果没有生成该配置web.config 则手工生成如下配置即可)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\aspnetapp.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 5fdcc1ed-9f59-47ed-969d-5e463cdd8d52-->

第三步创建应用池:

 

第四步:略 新建web站点病绑定上述应用池,运行即可成功。

第五步:前置条件(这一步是安装 .NET Core 托管)

下载 .NET Core 托管捆绑包安装程序 下载地址:https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer 执行下述操作。

  1. 在 IIS 服务器上运行安装程序。

  2. 重启服务器或在命令行界面中执行 net stop was /y,后跟 net start w3svc 。

------------------------------------------------------------------------------------Windows IIS 部署aspnetcore.web------------------------------------------------------------------

 

posted on 2020-02-01 21:35  迎着风追赶  阅读(550)  评论(0)    收藏  举报

导航