Asp.net core 将带有Swagger UI的ASP.NET核心Web API部署到承载多个其他网站的Windows Server 2012(IIS 8)
我用ASP.NET Core 2.2开发了一个简单的Web API,它有一个招摇过市的UI(通过Swashback)。我在这里称之为“我的api” 我正在使用Windows 7上的Visual Studio 2017进行开发 这个web应用程序在开发时(当然)在我的本地主机上运行良好 此URL将打开swagger UIAsp.net core 将带有Swagger UI的ASP.NET核心Web API部署到承载多个其他网站的Windows Server 2012(IIS 8),asp.net-core,deployment,swagger,iis-8,windows-server-2012,Asp.net Core,Deployment,Swagger,Iis 8,Windows Server 2012,我用ASP.NET Core 2.2开发了一个简单的Web API,它有一个招摇过市的UI(通过Swashback)。我在这里称之为“我的api” 我正在使用Windows 7上的Visual Studio 2017进行开发 这个web应用程序在开发时(当然)在我的本地主机上运行良好 此URL将打开swagger UI http://localhost:5000/api/[endpoints] http://www.server-domain.com/my_api_folder/api/[en
http://localhost:5000/api/[endpoints]
http://www.server-domain.com/my_api_folder/api/[endpoints]
这些URL端点将从数据库中检索各种资源
我想要实现的目标(不确定这是否可行): 我想将此web应用程序部署到运行IIS 8的Windows Server 2012,该服务器已经运行了其他三个相对静态的网站 我想将构建部署在此服务器上“wwwroot”中的文件夹(“my_api_文件夹”)中。然后:
http://www.server-domain.com/my_api_folder/swagger
将打开大摇大摆的用户界面
http://localhost:5000/api/[endpoints]
http://www.server-domain.com/my_api_folder/api/[endpoints]
将调用我的各种API端点
我所做的: 我使用VS 2017构建(发布)web应用程序,并将其保存到文件夹中 我将其构建为一个自包含部署(SCD),希望它更易于部署 我使用的构建目标(RID)是win-x64 构建过程完成后,我在“publish”文件夹中生成了一个可执行文件(“my_api.exe”)、几个DLL和其他资产/配置文件 我可以通过双击在本地计算机上运行此可执行文件。它将在localhost:5000上进行监听,并且所有这些都可以正常工作 然后我将所有构建文件部署(复制并粘贴)到服务器上的“my_api_folder”文件夹中
我现在面临的问题: 部署之后,两者
http://www.server-domain.com/my_api_folder/swagger
及
将返回500个内部服务器错误
然后我尝试双击服务器上的可执行文件,它将运行。(它显示在本地主机上侦听:5000)
但是,我无法在服务器上打开(或)或调用API。(在服务器的IE浏览器上找不到404。)
我也无法从服务器外部访问这些路由。但这次它挂起了很长时间,最终显示网关没有响应
但是
在我手动运行可执行文件后,显示“my_api.exe”确实在端口5000上侦听
我的描述可能无处不在。我觉得我缺少一些关键的知识,使这项工作在这里 请告知我应该如何调试这个 原因可能是什么 如果您需要任何其他信息,请让我也知道
谢谢。我认为人们可以遵循此文档并根据自己的情况进行调整:
我认为一个人可以遵循此文档并适应自己的情况:
netstat -a -o -n