一.环境介绍

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

.net core Api 部署到Linux的方法步骤

2.2安装Swagger

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

.net core Api 部署到Linux的方法步骤

搜索Swashbuckle.AspNetCore,并安装即可

Swashbuckle.AspNetCore

.net core Api 部署到Linux的方法步骤

2.3配置Swagger

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

.net core Api 部署到Linux的方法步骤

代码如下:

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

.net core Api 部署到Linux的方法步骤

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

.net core Api 部署到Linux的方法步骤

三.发布API

3.1发布程序

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

.net core Api 部署到Linux的方法步骤

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

.net core Api 部署到Linux的方法步骤

点击发布按钮即可

.net core Api 部署到Linux的方法步骤

3.2上传程序

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

.net core Api 部署到Linux的方法步骤

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

四.启动项目

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

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

查看文件列表:ls

.net core Api 部署到Linux的方法步骤

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

.net core Api 部署到Linux的方法步骤

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

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

.net core Api 部署到Linux的方法步骤

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

五.总结

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

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

标签:
.net,core,Api部署到Linux,.net,core,Api,Linux

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“.net core Api 部署到Linux的方法步骤”
暂无“.net core Api 部署到Linux的方法步骤”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。