天天看点

Asp.Net core 5.0 WebApi部署到Linux系统CentOS 7

环境:vs2019,.net core 5.0,CentOS 7

1、先得有一个.net core webapi。注意点:如果没有准备对https进行配置,请不要勾选。如下图

Asp.Net core 5.0 WebApi部署到Linux系统CentOS 7

2、修改待发布后的监听端口

  • 2.1 找到文件appsettings.json,添加参数,比如"Urls": "http://*:6002;"  结果代码如下:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "Urls": "http://*:6002;"
}
           
  • 2.2找到Program.cs,把2.1设置的参数加CreateHostBuilder方法中。结果代码如下:
public static IHostBuilder CreateHostBuilder(string[] args)
        {
            var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();


            var url = configuration["Urls"];
            return Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseUrls(url);
                    webBuilder.UseStartup<Startup>();
                });
        }
           

3、配置发布参数

  • 3.1 这时候程序有了,点选项目文件,右键点发布,选择“将应用部署到文件夹.....”,点“完成”(实际并没有完成,不要怕,先点。),会出现配置界面,如下图。
Asp.Net core 5.0 WebApi部署到Linux系统CentOS 7
  • 3.2 点“目标运行时”,后面的按钮,进行配置选项。分别为:

配置:Debug。(看自己需要,如需调试用Debug模式,否则 Release)

目标框架:net5.0

部署模式:框架依赖(那就等于必需要在CentOS中安装.net core sdk)

目标运行时:linux-64

结果如下图:

Asp.Net core 5.0 WebApi部署到Linux系统CentOS 7
  • 3.3 点保存,点发布,跑一点时间之后,输出会给一个完整地址,这个地址下的所有文件就是程序。

4、远程登录到CentOS 7

  • 4.1 win+r,打开输入mstsc,运行远程桌面,把相关远程地址,账号密码输进去。
  • 4.2进入之后建一个文件夹,直接复制粘贴程序文件,或是压缩文件夹

5、安装.net core sdk,并运行程序

  • 5.1 安装步骤请自行搜索或是我以后待补充,因为不是我安装的,大概知道通过命令行可以直接进行安装.net core环境
  • 5.2 在所在文件夹,右键打开命令行窗口,输入dotnet xxxx.dll,则会成功跑起,结果如下图
Asp.Net core 5.0 WebApi部署到Linux系统CentOS 7

6、到此基本结束,进行简单的连通测试。

windows下,打开cmd,输入curl信息,如下图

Asp.Net core 5.0 WebApi部署到Linux系统CentOS 7

第一个红框是我的输入内容,第二个红框是返回数据。自此,证明成功连通。

继续阅读