欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年02月08日 08:44:16   作者:喜歡吃魚的青年  
這篇文章主要介紹了.net core Api 部署到Linux的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.環(huán)境介紹

1..net開發(fā)環(huán)境:asp.net core 3.1
2.Linux環(huán)境:CentOS Linux release 7.9.2009 (Core)
3.Swagger: Swashbuckle.AspNetCore6.0
4.開發(fā)工具:VS2019,xShell7,xFtp7

二.搭建API

2.1使用vs2019新建一個(gè)API項(xiàng)目

2.2安裝Swagger

選擇上面的工具--》NuGet包管理器--》管理解決方案的管理包

搜索Swashbuckle.AspNetCore,并安裝即可

Swashbuckle.AspNetCore

2.3配置Swagger

找到項(xiàng)目的中Startup.cs 文件,修改內(nèi)容如下:

代碼如下:

 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();
   }
   //啟用中間件服務(wù)生成Swagger作為JSON終結(jié)點(diǎn)
   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"]}"
      }
     };
    });
   });
   //啟用中間件服務(wù)對(duì)swagger-ui,指定Swagger JSON終結(jié)點(diǎn)
   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設(shè)置生成的API文檔

首先啟動(dòng)項(xiàng)目,之后會(huì)生成一個(gè)Demo1.xml文件,如下圖所示,單擊文件Demo.xml文件,修改復(fù)制到輸出目錄: 如果較新則復(fù)制

三.發(fā)布API

3.1發(fā)布程序

選擇項(xiàng)目名稱,右鍵選擇發(fā)布

選擇文件夾,之后選擇下一步,選擇完成即可。

點(diǎn)擊發(fā)布按鈕即可

3.2上傳程序

使用Xftp軟件,把本地發(fā)布的文件上傳到Linux系統(tǒng)中

到此,API已經(jīng)創(chuàng)建,也上傳到服務(wù)器了。

四.啟動(dòng)項(xiàng)目

使用Xshell工具,連接到我們的Linux操作系統(tǒng),使用cd path 命令進(jìn)入到之前上傳的文件夾中。

進(jìn)入目錄:cd /home/www/test

查看文件列表:ls

輸入命令:dotnet Demo1.dll,如下圖所示,這是成功的在Linux中啟動(dòng)了我們發(fā)布的API項(xiàng)目。

192.168.6.130:把你Linux的IP替換我的這個(gè)192.168.6.130,在訪問

在你的瀏覽器中輸入:http://192.168.6.130:5000/index.html

到此,我們就完成一個(gè)Asp.net core發(fā)布的API,部署到Linux系統(tǒng)中,成功啟動(dòng)運(yùn)行。

五.總結(jié)

通過如上操作,也只是簡單粗糙的在Linux中啟動(dòng)WebApi,讓我學(xué)習(xí)了.net core也是可以跨平臺(tái)的,也是總結(jié)一下踩坑的經(jīng)驗(yàn),比如說部署Api中如果有Swagger,正常的部署是無法訪問,需要修改配置西信息查看2.3 Swagger配置,后面計(jì)劃繼續(xù)深入,把API部署到Dokcer中,使用nginx來實(shí)現(xiàn)反向代理。雖然這些在工作中完全用不到,就是想學(xué)習(xí)了解,這個(gè)技術(shù)能幫我解決什么問題,只能了解更多,遇到問題才能有多個(gè)解決方法。加油,干飯人!

到此這篇關(guān)于.net core Api 部署到Linux的文章就介紹到這了,更多相關(guān).net core Api 部署到Linux內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

作者:喜歡吃魚的青年
出處:https://home.cnblogs.com/u/2828sea/

相關(guān)文章

最新評(píng)論