Asp.net core利用IIS在windows上进行托管步骤详解
Windows  /  管理员 发布于 4年前   184
摘要
最近项目中,尝试使用asp.net core开发,在部署的时候,考虑现有硬件,只能部署在windows上,linux服务器暂时没有。下面话不多说了,来一起看看详细的介绍吧。
部署注意事项
代码中启用iis和Kestrel
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .UseApplicationInsights() .Build(); }
在服务端安装
.NET Core Windows Server 托管捆绑包
捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块创建 IIS 与 Kestrel 服务器之间的反向代理。 如果系统没有 Internet 连接,请先获取并安装 Microsoft Visual C++ 2015 Redistributable,再安装 .NET Core Windows Server 托管捆绑包。
重启系统,或从命令提示符处依次执行 net stop was /y 和 net start w3svc。 重新启动 IIS 将选取安装程序对系统 PATH 所作的更改。
发布
使用vs发布或者使用命令,这里由于使用vs2017开发,就直接用vs发布了
在服务端新建站点
修改应用池CLR为No Managed Code
可以下面新建子站点test
确认进程模型标识拥有适当的权限。
如果将应用池的默认标识(“进程模型” > “标识”)从 ApplicationPoolIdentity 更改为另一标识,请验证新标识拥有所需的权限,可访问应用的文件夹、数据库和其他所需资源。例如,应用池需要对文件夹的读取和写入权限,以便应用在其中读取和写入文件。
常见错误
如果通过ip和端口访问,报500错误,但在服务器上 通过dotnet \xxxxx.dll可以启动kestrel,并可以通过http:\\localhost:5000进行访问,一般可以通过修改站点目录权限进行解决。至少可以读写的权限。
其他错误,可以参考
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/troubleshoot
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号