.NET WebApi 发布到服务器(windows)并开放端口

这篇具有很好参考价值的文章主要介绍了.NET WebApi 发布到服务器(windows)并开放端口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.前言

2.发布前的准备

3.打包发布(交叉编译)

3.1更改生成xml文件的设置

3.2进入WebApi项目,右键发布

3.3发布设置------勾选在发布前删除现有文件

4.发送件至服务器

5.服务器安装对应环境

5.1安装IIS

5.2安装Hosting Bundle

6.发布

7.配置端口

8.各类报错

8.1    500.19 Internal Server Error

8.2    500.19 Internal Server Error

8.3找不到页面

8.4找不到页面

8.5显示500.31/32


1.前言

第一次接触确实很迷茫

在朋友、老师与多篇文章帮助下最终还是完成了测试。相当感谢。

​​​​​​发布.net6 WebApi项目到IIS会踩到的坑(500、404) - 简书 (jianshu.com)

这一篇总结了很多错误类型,可以查阅。

aps.net core 6.0 web API & SwaggerUI & IIS部署-CSDN博客

没有服务器的可以选择这篇,直接内网穿透。

.net 6 Core 发布项目 并且部署IIS_专注开发岗位的小白的博客-CSDN博客

这一篇帮忙解决了ASP.NET Core Runtime 6.0.24与让swagger显示出来(这里我也不知道有没有用到,不过我是照着敲得)。

配置过程中可能会有报错,可以翻阅第八部分. 

2.发布前的准备

1.服务器(Windows)(后续会出Linux,等等吧)(windows图形化确实方便,但是占用资源太高,而且也没有docker里面运行安全)。

2.可供调试的项目,新建的都可以。

3.打包发布(交叉编译)

3.1更改生成xml文件的设置

首先右键项目点击属性

生成里面勾选生成api文档的文件

这里也是一个坑,不生成运行不起来。

.net core web api 发布,服务器

3.2进入WebApi项目,右键发布

.net core web api 发布,服务器

3.3发布设置------勾选在发布前删除现有文件

哥们就是在这里踩的大雷,整了半天,之前发布的没有删除,三百多个文件我还很懵逼,最后其实只有33个。文件的多少是根据项目的大小与项目本身的文件的数量决定的。

显示所有设置里面勾选在发布前删除现有文件,第一次发布以前里面应该是空的,如果多次发布还是推荐勾选上。

.net core web api 发布,服务器

.net core web api 发布,服务器

然后进入发布的文件夹\bin\Release\net6.0\publish

.net core web api 发布,服务器

这是一些文件的作用,随便搜了点。。。。

  1. appsettings.Development.json 和 appsettings.json: 这两个文件用于存储应用程序的配置设置。这些设置可以包括连接字符串、应用程序的行为配置等。
  2. CQIE.FC.NOS.DataAccess 和其他类似的DLL(动态链接库)文件:这些是包含应用程序的代码的库文件。它们通常包含程序集,这些程序集实现应用程序的不同功能。
  3. CQIE.FC.NOS.exe: 这是应用程序的可执行文件。它包含程序的入口点,并运行应用程序。
  4. CQIE.FC.NOS.pdb: 这是程序数据库文件,它包含调试符号,用于在调试应用程序时帮助找到源代码的行信息。
  5. CQIE.FC.NOS.runtimeconfig.json: 这个文件包含运行时配置选项,例如垃圾回收设置、JIT编译器设置等。
  6. Microsoft.EntityFrameworkCore.dll 和其他与Entity Framework相关的DLL:这些是与Entity Framework相关的库文件,它是一个对象关系映射(ORM)框架,用于在.NET应用程序中管理数据库操作。
  7. Microsoft.Extensions.Configuration.Json.dll 和其他与Microsoft.Extensions相关的DLL:这些库文件提供对配置、日志、依赖注入等功能的支持。
  8. web.config: 这是一个XML文件,用于存储ASP.NET应用程序的配置设置,例如HTTP处理程序映射、安全设置、数据库连接字符串等。
  9. Newtonsoft.Json.dll: 这是一个流行的JSON库,用于在.NET应用程序中处理JSON数据。
  10. Swashbuckle.AspNetCore.Swagger.dllSwashbuckle.AspNetCore.SwaggerGen.dllSwashbuckle.AspNetCore.SwaggerUI.dll: 这些是与Swashbuckle相关的库文件,它用于在ASP.NET Core应用程序中生成Swagger文档和UI,以便更好地描述和测试API。
  11. Pomelo.EntityFrameworkCore.MySql.dll: 这是一个用于支持MySQL数据库的Entity Framework Core提供者。

4.发送件至服务器

这部分没什么好讲的,无论你是qq,微信各种可以传递文件的引用都可以。这里比较推荐QQ邮箱,压缩了直接发过去就好了。然后下载解压就好了。

5.服务器安装对应环境

5.1安装IIS

如何安装IIS_刘桂香263的博客-CSDN博客

这个里面是教程

或者看我我上传的一篇pdf,我朋友学校实验的安装步骤,刚写博客不太清楚这东西怎么玩哈。我上传以后不知道跑哪里去了。(我靠,看了下,下载好像要收钱,没必要下了)。

IIS是什么?有什么用?怎么用?-CSDN博客

Internet Information Service(IIS)是windows开设web网页服务的组件,用来搭载网站运行程序的平台的。还能提供FTP,SMTP等服务。

IIS这边不知是Windows版本问题还是怎么着,IIs有些直接在开始中直接添加,有一些在下图中。.net core web api 发布,服务器 

5.2安装Hosting Bundle

下载 .NET 6.0 (Linux、macOS 和 Windows) (microsoft.com)

.net core web api 发布,服务器

安装成功会显示

.net core web api 发布,服务器

好像就这两个,sdk似乎不太需要。前面的教程有些有,有些没有。如果运行不起在安装也不迟。

6.发布

运用池中将你需要的更改为无托管集成即可

.net core web api 发布,服务器

.net core web api 发布,服务器

然后网站中添加网站

.net core web api 发布,服务器

然后点击右边的浏览

出现这个页面补充好路由即可

.net core web api 发布,服务器

.net core web api 发布,服务器

7.配置端口

服务器这边找到安全组配置端口

.net core web api 发布,服务器

.net core web api 发布,服务器

按照格式更改即可,只需更改端口范围,你的IIS里面配置的端口即是。(出入都配置一下吧,我记不住了)

.net core web api 发布,服务器

本地中添加公网IP就可以访问了。欧克

8.各类报错

我这边没截图了,用的下面博客的,我也基本上遇到了这些问题,比他遇见的更多

发布.net6 WebApi项目到IIS会踩到的坑(500、404) - 简书 (jianshu.com)

8.1    500.19 Internal Server Error

.net core web api 发布,服务器

未安装Hosting Bundle

8.2    500.19 Internal Server Error

.net core web api 发布,服务器

权限不足添加一个就好了,踩雷++

.net core web api 发布,服务器

8.3找不到页面

.net core web api 发布,服务器

当前环境如果为测试环境,则启动Swagger,否则不启动,且.NETCORE WEB API项目默认就是测试环境,所以一旦发布到正式环境后,就不会运行启动Swagger代码。

去掉if (app.Environment.IsDevelopment())即可。

8.4找不到页面

.net core web api 发布,服务器

可能是文件不在了,重新按第三部分生成即可。

8.5显示500.31/32

大概率就是导出的文件有问题,看第三部分打包发布即可。

8.6 401.3

同8.2

.net core web api 发布,服务器

8.7 403.14

同xml那个问题

.net core web api 发布,服务器

9.补充在线静态资源

.net core web api 发布,服务器

同样的步骤,资源改为你的图片文件夹即可,添加一个everyone,以及开放端口即可。

.net core web api 发布,服务器文章来源地址https://www.toymoban.com/news/detail-848731.html

到了这里,关于.NET WebApi 发布到服务器(windows)并开放端口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云安全组已经开放端口但是服务器端口还是不能访问

    查看安全组端口是否正确设置 查看服务器防火墙 其他使用命令自行百度 检查服务器应用程序对外访问端口是否已开启 检查阿里云后台是否选择正确的服务器所在地址,这是常常疏落之处,算是一个坑

    2024年02月12日
    浏览(47)
  • 腾讯云国际站服务器端口开放失败怎么办?

    腾讯云服务器是腾讯公司推出的一种云服务,用户能够经过这种方式在互联网上进行数据存储和计算。然而,用户在运用腾讯云服务器时或许会遇到各种问题,其间端口敞开失利是一个常见问题。本文将具体介绍如何解决腾讯云服务器端口敞开失利的问题。 腾讯云服务器端口

    2024年02月08日
    浏览(57)
  • 腾讯云轻量应用服务器开放端口(在防火墙设置)

    1. 在腾讯云轻量应用服务器控制台   2.选择“防火墙”--“添加规则”  3.在创建新的规则窗口,端口中输入8001    

    2024年02月06日
    浏览(55)
  • 如何实现服务器对外开放?路由器端口映射怎么设置?

    使用路由器后,Internet用户无法访问到局域网内的主机,因此不能访问内网搭建的Web、FTP、Mail等服务器。路由器端口映射功能可以实现将内网的服务器映射到Internet,从而实现服务器对外开放。路由器端口映射怎么设置? 下面给大家介绍一下具体设置步骤。 第一步:设置虚拟

    2024年02月16日
    浏览(54)
  • .net8+webapi+sqlsugar基本配置;“连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确”异常

    1、引入sqlsugar的nugat包 2、封装一个操作类(参考sqlsugar官方文档) 3、配置program.cs和appsettings program.cs加上下面代码  appsettings配置连接字符串 4、新建一个控制台生成实体类 5、添加测试的controller 6、swagger调试抛异常 7、修改csproj文件中,仅适用.net 8(参考sqlsugar官方文档)  8、

    2024年03月15日
    浏览(67)
  • 华为云云耀云服务器L实例评测|Elasticsearch的Docker版本的安装和参数设置 & 端口开放和浏览器访问

    最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。 本篇博客介绍Elasticsearch的Docker版本的安装和参数设置,端口开放和浏览器访问。 其他相关的华为云云耀云服务器L实例评测文章列表如下: 初始化配

    2024年02月08日
    浏览(47)
  • Linux下ElasticSearch7.9.2安装配置(包含服务器配置、启动停止脚本、开放端口和elasticsearch-head插件的使用)

    本文主要介绍Linux下ElasticSearch7.9.2安装,目前是介绍单节点的配置 应用 版本 说明 操作系统 centos7 稳定、高预测性、高管理性、高重复性的Linux平台 elasticsearch 7.9.2 es7.x的linux版本 jdk 8 本人使用JDK 8;ES建议使用JDK 11 启动的时候会有警告但是不会报错,可以忽略 此种方式可能比

    2024年02月08日
    浏览(62)
  • C#进阶-IIS服务器发布ASP.NET项目

    对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以 IIS服务器 发布 ASP.NET 项目为例。 本地用 Visual Studio 打开一个可运行的

    2024年02月01日
    浏览(56)
  • windows服务器限制特定ip访问指定端口(服务器ip白名单)

    有些时候我们需要限制特定的ip白名单来访问服务器的指定端口,来防止dos攻击或其他危险访问,我们可以通过防火墙来实现这一需求,下面一起看一下: ps:开启防火墙可能有些端口会无法访问,比如80、443等,需要添加入栈规则才能恢复,参考下面步骤的入站规则 新建入站

    2024年02月05日
    浏览(61)
  • Windows Server 2012 搭建网关服务器并端口转发

    使用 Windows server 作为Hyper-V 虚拟出许多虚拟机,基本上都分配了内网地址,现在需要这些虚拟机访问外网,或者外网直接访问这些虚拟机,必须配置一个网关服务器。我决定直接使用 Windows 的远程访问中的 NAT 服务来完成。 没有找到官方文档,本文完全参考了以下文章 在Wi

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包