.net core Api 部署到Linux的方法步驟
1..net開發(fā)環(huán)境:asp.net core 3.12.Linux環(huán)境:CentOS Linux release 7.9.2009 (Core)3.Swagger: Swashbuckle.AspNetCore6.04.開發(fā)工具:VS2019,xShell7,xFtp7
二.搭建API2.1使用vs2019新建一個API項目選擇上面的工具--》NuGet包管理器--》管理解決方案的管理包
搜索Swashbuckle.AspNetCore,并安裝即可
Swashbuckle.AspNetCore
找到項目的中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é)點 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ù)對swagger-ui,指定Swagger JSON終結(jié)點 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文檔
首先啟動項目,之后會生成一個Demo1.xml文件,如下圖所示,單擊文件Demo.xml文件,修改復(fù)制到輸出目錄: 如果較新則復(fù)制
選擇項目名稱,右鍵選擇發(fā)布
選擇文件夾,之后選擇下一步,選擇完成即可。
點擊發(fā)布按鈕即可
使用Xftp軟件,把本地發(fā)布的文件上傳到Linux系統(tǒng)中
到此,API已經(jīng)創(chuàng)建,也上傳到服務(wù)器了。
四.啟動項目使用Xshell工具,連接到我們的Linux操作系統(tǒng),使用cd path 命令進入到之前上傳的文件夾中。
進入目錄:cd /home/www/test
查看文件列表:ls
輸入命令:dotnet Demo1.dll,如下圖所示,這是成功的在Linux中啟動了我們發(fā)布的API項目。
192.168.6.130:把你Linux的IP替換我的這個192.168.6.130,在訪問
在你的瀏覽器中輸入:http://192.168.6.130:5000/index.html
到此,我們就完成一個Asp.net core發(fā)布的API,部署到Linux系統(tǒng)中,成功啟動運行。
五.總結(jié)通過如上操作,也只是簡單粗糙的在Linux中啟動WebApi,讓我學(xué)習(xí)了.net core也是可以跨平臺的,也是總結(jié)一下踩坑的經(jīng)驗,比如說部署Api中如果有Swagger,正常的部署是無法訪問,需要修改配置西信息查看2.3 Swagger配置,后面計劃繼續(xù)深入,把API部署到Dokcer中,使用nginx來實現(xiàn)反向代理。雖然這些在工作中完全用不到,就是想學(xué)習(xí)了解,這個技術(shù)能幫我解決什么問題,只能了解更多,遇到問題才能有多個解決方法。加油,干飯人!
到此這篇關(guān)于.net core Api 部署到Linux的文章就介紹到這了,更多相關(guān).net core Api 部署到Linux內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
作者:喜歡吃魚的青年出處:https://home.cnblogs.com/u/2828sea/
相關(guān)文章:
1. Debian11怎么添加桌面快捷圖標(biāo)? Debian桌面快捷方式的添加方法2. 鼠標(biāo)怎么設(shè)置為左手? deepin20左手鼠標(biāo)設(shè)置方法3. 如何在電腦PC上啟動Windows11和Linux雙系統(tǒng)4. 蘋果 macOS 11.7.3 更新導(dǎo)致 Safari 收藏夾圖標(biāo)無法正常顯示5. mac程序沒反應(yīng)怎么辦 mac強制關(guān)閉程序的方法6. Win11重新安裝顯卡驅(qū)動怎么操作?Win11重新安裝顯卡驅(qū)動方法7. Centos7下刪除virbr0網(wǎng)卡信息的方法8. 統(tǒng)信UOS終端窗口怎么設(shè)置總在最前? UOS置頂終端窗口的技巧9. Win11 Build預(yù)覽版25276怎么啟用新版文件管理器?10. UOS文檔查看器怎么添加書簽? UOS添加書簽的三種方法
