一.准备工作
1.购买云服务器,
推荐腾讯云服务器,因为本项目是在腾讯云服务器上研究构件的,在别的服务器上可能会增加一些学习时间.
2.获取云服务器上完整的iis管理控制台功能
1.将web服务器(IIS),中的 "管理工具" 下拉的所有选项功能全部勾选上
2.检查web服务器(IIS),中的 "web服务器" 下拉的 "应用程序开发" --"Asp.NET(最新版本)" 选项勾选上
3.下载.NET 10 SDK
下载 .NET 10.0 (Linux、macOS 和 Windows) | .NEThttps://dotnet.microsoft.com/zh-cn/download/dotnet/10.0
下载并安装好.net 10sdk, 安装好后按Window+R,cmd打开系统控制台,输入dotnet,再输入help
如果显示完整的net信息证明安装成功
4.下载安装服务器工作模块ASP.NET Core Module v2
4.1.一般情况下,下载常规的Hosting Bundle安装即可,但博主第二次安装这个Hosting Bundle的时候iis不能正确识别加载,于是又卸载了刚刚的Hosting Bundle,重新下载二进制的文件包进行手动安装,下载x64包后,解压出来,运行里面的安装程序完成安装即可
5.添加服务器管理角色
进去后现在我们的云服务器ip做为角色的账号,完成即可
6.点击 "工具"--"Internet Information Swevices(IIS)",打开iis管理器
7.检查ASP.NET Core Module v2是否正确加载
点击左侧服务器,双击 "模块",查看模块中是否成功加载ASP.NET Core Module v2,如果没有,参考第4步手动安装ASP.NET Core Module v2
二.发布web api项目
1.vs上写的web api服务器项目
选择发布模式为 "文件夹" ,将项目打包为一个文件夹
点击发布,可完成项目打包, 打包后文件夹位于目标位置
三.服务器文件夹部署到云服务器iis
1.复制"publish"文件夹到云服务器的c盘根目录下
2.创建自定义的程序池
在iis 服务器管理器中 "应用程序池"---"右键" ---"添加应用程序池",设置为无托管代码和集成模式,如下图,只保留我们自定义的应用程序池esp32,其余的程序池删除干净
3.添加服务器网站
在网站文件夹 ---"右键"----"添加网站", 创建我们自己的服务器网站
选择我们的esp32应用程序池,物理路径选择我们复制进C盘的路径文件,ip选择云服务器的内网ip,端口默认80
确认后成功创建了托管在iis上的服务器网站
四.远程用浏览器验证能不能访问网站
http://+服务器公网ip:端口号/+项目url
成功访问到服务器,并远程拿到服务器数据,到了这里,服务器就成功托管在云服务器iis上了