.net6 在中标麒麟下的安装和部署过程

寻技术 ASP.NET编程 / 其他编程 2023年07月25日 101

尝试了下.net6在信创环境下的安装和部署

信创服务器,CPU:ARM64,操作系统:中标麒麟 v10,网络环境:政务网(无法连接外网)

1、下载 .net 6 SDK 6.0.408 Arm64二进制文件。https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0

2、在服务器/home目录下创建两个新目录 ,test 和 dotnet;

3、上传压缩包到服务器 /home/test,可通过堡垒机SFTP上传;

4、进入/home/test目录,执行:tar zxf dotnet-sdk-6.0.408-linux-x64.tar.gz -C /home/dotnet,将文件解压至 /home/dotnet 目录;

5、设置环境变量, 编辑/etc/profile增加以下两行:

  export DOTNET_ROOT=/home/dotnet

  export PATH=$PATH:/home/dotnet

  用不习惯vim,可以把文件下载到电脑上用记事本编辑。

6、查看安装情况,执行:source /etc/profile 重新加载配置文件。

7、执行: dotnet --info 查看.net安装情况。出现下图则说明安装配置成功。

8、使用VS新建一个ASP.NET Core WebAPI项目(项目名为:kytest),项目会自动生成一个包含天气预报API接口,不用修改直接创建运行就行。修改appsettings.json配置文件指定端口(服务器只开了80-90端口,所以要把默认的5000端口改成86端口)。

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://*:86"
      }
    }
  }
}

9、正常发布,目标运行时选:linux-arm64。

10、到服务器的/home目录下新建个 wwwroot目录,把发布目标位置文件夹下的所有文件上传到wwwroot目录。

11、进入wwwroot目录,执行 dotnet kytest.dll,出现如下画面说明运行正常。

12、用浏览器访问http://xx.xx.xx.xx:86/WeatherForecast,能正常返回接口数据且每次刷新页面数据会随机变动说明发布成功。

关于防火墙设置:

如发现在服务器上可以通过 curl http://localhost:86/weatherforecast 正常访问接口但通过浏览器无法访问,请检查防火墙设置。

查看状态:systemctl status firewalld 查看防火墙状态 ,显示active(running)说明防火墙已开启。

端口开放情况查询:firewall-cmd --list-all 可查看全部已开放端口。

查询单个端口:fireewall-cmd -query-port=[端口]/tcp,查看指定端口是否开放,yes为已开放,no为未开放

开放端口:firewall-cmd --permanent --add-port=[端口]/tcp ,执行后返回success。

添加完端口后重启防火墙让设置生效:systemctl restart firewalld

关闭

用微信“扫一扫”