温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在Linux中部署一个.net core Api项目

发布时间:2021-02-16 15:34:58 来源:亿速云 阅读:268 作者:Leah 栏目:开发技术

如何在Linux中部署一个.net core Api项目?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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项目

如何在Linux中部署一个.net core Api项目

2.2安装Swagger

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

如何在Linux中部署一个.net core Api项目

搜索Swashbuckle.AspNetCore,并安装即可

Swashbuckle.AspNetCore

如何在Linux中部署一个.net core Api项目

2.3配置Swagger

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

如何在Linux中部署一个.net core Api项目

代码如下:

 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文档

如何在Linux中部署一个.net core Api项目

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

如何在Linux中部署一个.net core Api项目

三.发布API

3.1发布程序

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

如何在Linux中部署一个.net core Api项目

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

如何在Linux中部署一个.net core Api项目

点击发布按钮即可

如何在Linux中部署一个.net core Api项目

3.2上传程序

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

如何在Linux中部署一个.net core Api项目

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

四.启动项目

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

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

查看文件列表:ls

如何在Linux中部署一个.net core Api项目

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

如何在Linux中部署一个.net core Api项目

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

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

如何在Linux中部署一个.net core Api项目

关于如何在Linux中部署一个.net core Api项目问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI