重点:在centos中部署WebAPI项目不需要安装nginx;而部署Web项目需要使用nginx作反向代理。
- 在centos中需要安装 .net core 5.0 的 runtimes运行时环境(如果使用centos开发 .net core项目就需要安装 .net core SDKS包括开发环境和运行时环境)。
// 安装.net core 5.0 运行时环境 sudo dnf install aspnetcore-runtime-5.0 // 验证是否安装成功 sudo dotnet --info
-
用FolderProfile(文件)发布asp.net core 5.0的webapi程序,目标框架是net5.0,目标运行时选择可移植,进行保存并发布。点击编辑按钮可以进行修改。
- 将生成的文件夹(例如:publish文件夹) 可以使用Xftp工具上传到Centos服务器任何的位置。
- 执行dotnet WebApiDemo.dll --urls http://*:5000命令,出现以下提示说明webapi服务已经运行,在浏览器访问http://localhost:5000即可。
dotnet WebApiDemo.dll --urls http://*:5000
-
出现如上图的 warn 警告是因为项目配置了 HTTPS,如果想要去掉只要注释掉Startup.cs文件中的app.UseHttpsRedirection()。以及删除launchSetting.json中的https://localhost:5001即可。
-
注意centos7防火墙的问题,如果至此无法访问可以查看防火墙是否开启,如果开启需要暴露5000端口。
-
无法访问的问题:默认的localhost只能本地访问,需要在代码中指定:WebHost.CreateDefaultBuilder(arg).UseUrls("http://*:5000") .UseStartup<Startup>(); 或在部署是直接指定:dotnet *.dll --urls http://*:5000