.net core Api 部署到Linux的方法步骤_实用技巧

来源:脚本之家  责任编辑:小易  

一.环境介绍

1..net开发环境:asp.net core 3.1
2.Linux环境:CentOS Linux release 7.9.2009 (Core)
3.Swagger: Swashbuckle.AspNetCore6.0
4.开发工具:VS2019,xShell7,xFtp7

二.搭建API

2.1使用vs2019新建一个API项目

2.2安装Swagger

选择上面的工具--》NuGet包管理器--》管理解决方案的管理包

搜索Swashbuckle.AspNetCore,并安装即可

Swashbuckle.AspNetCore

2.3配置Swagger

找到项目的中Startup.cs 文件,修改内容如下:

代码如下:

 public void ConfigureServices(IServiceCollection services)
  {

   services.AddSwaggerGen(options =>
   {
    options.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
    // 获取xml文件名
    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    // 获取xml文件路径
    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
    // 添加控制器层注释,true表示显示控制器注释
    options.IncludeXmlComments(xmlPath, true);
   });

   services.AddControllers();
  }

  // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
  public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  {
   if (env.IsDevelopment())
   {
    app.UseDeveloperExceptionPage();
   }
   //启用中间件服务生成Swagger作为JSON终结点
   app.UseSwagger(c=> {

    c.PreSerializeFilters.Add((doc,item)=> {

     doc.Servers = new List<OpenApiServer>
     {
      new OpenApiServer{
      Url=$"{item.Scheme}://{item.Host.Value}/{item.Headers["X-Forwarded-Prefix"]}"
      }
     };
    });
   });
   //启用中间件服务对swagger-ui,指定Swagger JSON终结点
   app.UseSwaggerUI(c =>
   {
    c.ShowExtensions();
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    c.DocExpansion(DocExpansion.None);
    c.RoutePrefix = string.Empty; //如果跟目录显示SwaggerUI加上这句
   });
   app.UseHttpsRedirection();
   app.UseRouting();
   app.UseAuthorization();
   app.UseEndpoints(endpoints =>
   {
    endpoints.MapControllers();
   });
  }

2.4设置生成的API文档

首先启动项目,之后会生成一个Demo1.xml文件,如下图所示,单击文件Demo.xml文件,修改复制到输出目录: 如果较新则复制

三.发布API

3.1发布程序

选择项目名称,右键选择发布

选择文件夹,之后选择下一步,选择完成即可。

点击发布按钮即可

3.2上传程序

使用Xftp软件,把本地发布的文件上传到Linux系统中

到此,API已经创建,也上传到服务器了。

四.启动项目

使用Xshell工具,连接到我们的Linux操作系统,使用cd path 命令进入到之前上传的文件夹中。

进入目录:cd /home/www/test

查看文件列表:ls

输入命令:dotnet Demo1.dll,如下图所示,这是成功的在Linux中启动了我们发布的API项目。

192.168.6.130:把你Linux的IP替换我的这个192.168.6.130,在访问

在你的浏览器中输入:http://192.168.6.130:5000/index.html

到此,我们就完成一个Asp.net core发布的API,部署到Linux系统中,成功启动运行。

五.总结

通过如上操作,也只是简单粗糙的在Linux中启动WebApi,让我学习了.net core也是可以跨平台的,也是总结一下踩坑的经验,比如说部署Api中如果有Swagger,正常的部署是无法访问,需要修改配置西信息查看2.3 Swagger配置,后面计划继续深入,把API部署到Dokcer中,使用nginx来实现反向代理。虽然这些在工作中完全用不到,就是想学习了解,这个技术能帮我解决什么问题,只能了解更多,遇到问题才能有多个解决方法。加油,干饭人!

到此这篇关于.net core Api 部署到Linux的文章就介绍到这了,更多相关.net core Api 部署到Linux内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

作者:喜欢吃鱼的青年
出处:https://home.cnblogs.com/u/2828sea/

您可能感兴趣的文章:.Net Core WebApi部署在Linux服务器上的方法.net Core 3.0 WebApi 创建Linux守护进程的方法

  • 本文相关:
  • .net core开发日志之odata(open data protocol)
  • 集合类list与dictonary实例练习
  • asp.net 读取excel数据到datatable的代码
  • asp.net 获取目录下的文件数和文件夹数
  • 关于asp.net button按钮的onclick和onclientclick事件
  • .net core读取配置文件方式详细总结
  • 解决在web.config或app.config中添加自定义配置的方法详解
  • 显示非站点目录及映射网络磁盘路径的图片
  • asp.net获取各级目录server.mappath详解全
  • asp.net中textbox只能输入数字的最简洁的两种方法
  • net core 怎么部署到linux
  • 如何在Linux服务器上部署.Net Core
  • c#开发的程序怎么在linux上运行
  • 如何在Linux服务器上部署Net Core
  • 如何linux上部署.net core
  • 如何把javawebapi 部署到linux
  • 本地是.net core2.2发布到linux上,上要怎么装sdk...
  • .net程序可以部署到linux下吗
  • 学习Linux的步骤是怎样的
  • net core webapi 怎么样
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全基础应用实用技巧自学过程首页asp.net.net core webapi部署在linux服务器上的方法.net core 3.0 webapi 创建linux守护进程的方法.net core开发日志之odata(open data protocol)集合类list与dictonary实例练习asp.net 读取excel数据到datatable的代码asp.net 获取目录下的文件数和文件夹数关于asp.net button按钮的onclick和onclientclick事件.net core读取配置文件方式详细总结解决在web.config或app.config中添加自定义配置的方法详解显示非站点目录及映射网络磁盘路径的图片asp.net获取各级目录server.mappath详解全asp.net中textbox只能输入数字的最简洁的两种方法未将对象引用设置到对象的实例 (java正则表达式 pattern和matcheasp.net(c#)网页跳转七种方法小结未能加载文件或程序集“xxx”或它asp.net“服务器应用程序不可用”asp.net中的几种弹出框提示基本实asp.net gridview 72般绝技asp.net生成excel并导出下载五种asp.net对路径"xxxxx"asp.net汉字转拼音和获取汉字首字asp.net模板引擎razor调用外部方法用法实asp.net treeview来构建用户选择输入的方.net原型模式讲解利用timer在asp.net中实现计划任务的方法[译]asp.net core 2.0 网址重定向的方法visual studio 2019正式版安装简单教程详解.net core下如何简单构建高可用服务集asp.net中读取xml文件信息的4种方法与示例.net中as和is之间的区别分析asp.net操作javascript:confirm返回值的两
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved