ASP.NET Core项目在Windows/IIS7的部署教程

需积分: 49 44 下载量 150 浏览量 更新于2024-09-10 3 收藏 392KB PDF 举报
"这篇资源是关于ASP.NET Core项目在Windows Server搭配IIS 7的发布和运行环境部署的详细介绍,特别关注的是ASP.NET Core 2.1版本。文中提到,虽然该方案适用于Windows环境,但ASP.NET Core项目也能部署到其他操作系统,如Linux,并可以通过Docker、Azure或OpsDev等平台。在Linux环境下,Kestrel服务器可以被Nginx、Apache或IIS作为反向代理服务器来使用。文章提到了ASP.NET Core项目的两种部署方式:依赖框架的部署(FDD)和独立部署(SCD)。" 在详细说明中,ASP.NET Core是一个跨平台的开发框架,允许开发者构建高性能的现代web应用程序。在Windows Server上部署ASP.NET Core项目通常会涉及到IIS作为应用服务器,它可以托管ASP.NET Core应用程序并通过HTTP提供服务。 **依赖框架的部署 (FDD)** 在这种部署模式下,应用程序依赖于目标机器上已经安装的.NET Core运行时环境。这意味着,如果你的目标系统已经安装了.NET Core,你的应用程序可以直接运行,因为它只包含自身的代码和不在.NET Core库范围内的第三方依赖。使用`dotnet`命令行工具,可以运行`.dll`文件,如`dotnet app.dll`来启动应用程序。 **独立部署 (SCD)** 独立部署模式则相反,它不依赖目标系统的共享组件。所有必要的.NET Core库和运行时环境都被包含在应用程序的发布包内,使得应用程序可以在没有预先安装.NET Core的环境中运行。SCD包含一个可执行文件(如`app.exe`)和一个`.dll`文件(如`app.dll`),其中可执行文件是平台特定的.NET Core主机,负责启动应用程序。 在Linux环境下,由于IIS不可用,Kestrel服务器可以作为主要的web服务器,但是为了对外提供服务,通常会配置Nginx或Apache作为反向代理,它们接收外部HTTP请求并转发给Kestrel处理。这种方式可以提高系统的安全性和性能,因为反向代理服务器可以处理静态内容和负载均衡。 总结来说,这篇资源提供了一个详细的指南,帮助开发者了解如何在Windows Server + IIS 7环境下部署ASP.NET Core 2.1项目,并提到了在其他操作系统上的部署选项和策略。这对于那些希望将.NET Core应用程序推向生产环境的开发者非常有价值。
2018-12-14 上传
Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }