.net core2.1的WebAPI与网站在iis上的发布(带数据库)

本文详述了使用WebAPI方法在IIS上配置.NET Core网站的完整流程,包括发布网站、配置IIS、数据库迁移、权限设置等关键步骤,适用于Windows Server 2012及所有具备IIS的环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前,.net core也出了几年了,由于技术算是比较新,网上相关的资料还较少,本人查阅了许多资料,完整的流程也仅限于.net core的基础网站发布,现如今较为流行的方式是WebAPI方法,使用WebAPI与数据库进行通信,实际的网站通过访问WebAPI获取数据,这种方式的网站配置会多一些步骤,而网上并没有相关的完整流程介绍,因此在这里写下使用WebAPI方法的网站如何配置在IIS上。(若没有WebAPI,仅是一个.net core网站,当前教程中WebAPI相关的步骤可忽略不看)

 

当前探索出的方法由于不知道如何将迁移应用在服务器的数据库上,因此只能以服务器安装VS为解决方案,应该有其他方法,后续若探索有结果会另发布文章介绍

 

该教程以Windows Server 2012为例,实际配置环境windows是通用的,只要有IIS即可

1. 发布网站,WebAPI与实际网站各在VS2017(实际版本可变)中对应一个sln工程,每个工程都有实际的网站项目,右击项目点击发布按钮,设置发布目录,将网站发布至指定目录下,发布时如有Sql Server数据库并使用了EF Core迁移的话勾选对应选项。(该步骤实际过程可参考网络,网上教程较多,这里不再赘述)

 

2. 在服务器端启动IIS功能,这一步同样网上有很多教程,也不再赘述

 

3. 在编写WebAPI时有指定对应的端口号,在IIS中添加网站时端口号配置好,实际网站的项目添加网站时就配置默认的80端口

4. 本地安装Sql Server数据库(安装Sql Server Express),安装SSMS(Sql Server Management Studio),使用SSMS在数据库中新建对应的数据库

 

5. 打开VS工程,使用Update-Database(与开发时功能相同,这一部分若开发时不会使用可参考微软官方文档https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-2.2&tabs=visual-studio#initial-migration),将迁移应用在数据库中,完成后数据库中对应有相关的表与字段

 

6. SSMS中打开网站发布目录下EFScript文件夹中的数据库脚本并执行,将数据添加进数据库中

 

7. SSMS中设置用户权限:在Sercurity/Logins/NT AUTOHORITY\SYSTEM上点击右键,选择属性,在Server Roles选项中勾选sysadmin选项

 

8. IIS中网站对应的应用程序池设置在高级设置下找到Process Model列表,其中的Identity选项从ApplicationPoolIdentity改为LocalSystem

上述配置完成后即可通过IP地址访问网站了

 

注意:

数据库由于是服务器安全方面较为敏感的部分,最好设置用户名和密码并在连接字符串中加上用户名密码访问,如果测试用,不想太过麻烦,则使用上述的步骤,修改为本地系统访问,若不这样设置,服务器可以打开网站,但外网会打不开,这是因为外网是通过应用程序池的名称访问,而数据库中没有对应的用户,所以需要修改为本地系统,并在数据库中打开该权限。

另外由于WebAPI仅向外部提供API接口,内部与数据库通信,大部分情况下可能没有网页样式,因此在编写代码时wwwroot文件夹可能是空的,那么发布时则不会生成该文件夹,有些情况下程序中会获取该文件夹内容,如果网站无法访问,可能是这里的问题,先确认发布目录下是否有该文件夹,没有则新建一个空的wwwroot文件夹即可,若还无法访问,再尝试其他方法。

 

如果无法访问网页,可从服务器端调试得到异常信息,实际可根据异常信息找到出错位置,下一篇文章介绍如何在服务器端调试已编译为dll的.net core网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值