Centos Linux调用百度API,将.NET Core Web Api发布到Linux(CentOS 7 64)

将.NET Core(2.1) Web Api发布到Linux(CentOS 7 64)

近来在学习linux相关的一些东西,然后正巧想试一下把core的应用程序发布到Linux,毕竟跨平台。尝试一下。以下是我在网上找到的资料做的一些整理。

需要准备的工具:Xshell,WinSPC,VM(我们这里暂时采用VM装一个CentOS 7的系统作为测试用例)

1.首先建立一个.net core 的web api 应用。这里选择.net core的版本选择的是2.1,建立好以后,会自动有一个控制器ValuesController,如图:

2.NuGet引入Swagger,   [Startup]代码如下:

1 public classStartup2 {3 publicStartup(IConfiguration configuration)4 {5 Configuration =configuration;6 }7

8 public IConfiguration Configuration { get; }9

10 //This method gets called by the runtime. Use this method to add services to the container.

11 public voidConfigureServices(IServiceCollection services)12 {13 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);14 //配置Swagger15 //注册Swagger生成器,定义一个Swagger 文档

16 services.AddSwaggerGen(c =>

17 {18 c.SwaggerDoc("v1", newInfo19 {20 Version = "v1",21 Title = "接口文档",22 Description = "RESTful API"

23 });24 //为 Swagger 设置xml文档注释路径

25 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";26 var xmlPath =Path.Combine(AppContext.BaseDirectory, xmlFile);27 c.IncludeXmlComments(xmlPath);28 });29 }30

31 //This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

32 public voidConfigure(IApplicationBuilder app, IHostingEnvironment env)33 {34 if(env.IsDevelopment())35 {36 app.UseDeveloperExceptionPage();37 }38 //启用中间件服务生成Swagger

39 app.UseSwagger();40 //启用中间件服务生成Swagger,指定Swagger JSON终结点

41 app.UseSwaggerUI(c =>

42 {43 c.SwaggerEndpoint("/swagger/v1/swagger.json", "Web App V1");44 c.RoutePrefix = string.Empty;//设置根节点访问

45 });46 app.UseMvc();47 }48 }

生成运行一下,得到以下结果:

2.将该项目发布,发布配置如下:

3.用VM装一个CentOS 7 64的系统(这里镜像文件太大,就没有传,自行网上找一个)。系统装完后设置好相关的凭证,账号密码。然后启动该虚拟机。

通过账号密码登录成功以后,执行指令 ifconfig,拿到该虚拟机的IP。然后就可以用Xshell,WinSPC工具连接该虚拟机。

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

sudo yum install dotnet-sdk-2.1

以上两个命令分别执行,如果有遇到y/n选择的,直接输入y敲回车即可。安装完成以后。输入命令 dotnet --version如果得到以下结果,则证明你的.net core环境已经搭建完毕:

5.利用工具WinSPC,需要输入虚拟机的地址和账号密码,连接上以后在root文件目录下建一个文件夹,这里有两种方式可以建立。

1(通过linux命令创建,创建一个名为web的文件夹)

mkdir web

2(直接手工在winSPC右键新建文件夹即可。

把发布好的.net core包直接手工粘贴到web目录下。通过命令cd web进入到目录后,再输入命令ls查询当前文件。如图

接下来就该启动这个复制过来的服务了,用linux命令 dotnet *.dll,这里的*代表的就是你的执行文件。如我上图所示的话,我的完整命令应该为:

出现以上提示,则证明该服务器已经启动成功了,通过这个地址,我们直接在本机试一下,能否访问。

出现以上结果,则证明我们这个core服务已经成功在Linux上发布成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值