在centos7系统中部署使用asp.net core 5.0开发的WebAPI项目

本文详细介绍了如何在CentOS系统中部署.NET Core 5.0的WebAPI项目,强调无需安装nginx。首先确保安装了运行时环境,然后使用FolderProfile发布项目并上传到服务器。通过执行特定命令启动WebAPI服务,并解决可能的防火墙和localhost访问问题。对于Web项目,通常需要nginx作为反向代理。此外,还提到了HTTPS配置的调整和端口开放的注意事项。
摘要由CSDN通过智能技术生成

     重点:在centos中部署WebAPI项目不需要安装nginx;而部署Web项目需要使用nginx作反向代理。

  1. 在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

     

  2. 用FolderProfile(文件)发布asp.net core 5.0的webapi程序,目标框架是net5.0,目标运行时选择可移植,进行保存并发布。点击编辑按钮可以进行修改。

     

  3. 将生成的文件夹(例如:publish文件夹) 可以使用Xftp工具上传到Centos服务器任何的位置。
  4. 执行dotnet WebApiDemo.dll --urls http://*:5000命令,出现以下提示说明webapi服务已经运行,在浏览器访问http://localhost:5000即可。
    dotnet WebApiDemo.dll --urls http://*:5000

  5. 出现如上图的 warn 警告是因为项目配置了 HTTPS,如果想要去掉只要注释掉Startup.cs文件中的app.UseHttpsRedirection()。以及删除launchSetting.json中的https://localhost:5001即可。

  6. 注意centos7防火墙的问题,如果至此无法访问可以查看防火墙是否开启,如果开启需要暴露5000端口。

  7. 无法访问的问题:默认的localhost只能本地访问,需要在代码中指定:WebHost.CreateDefaultBuilder(arg).UseUrls("http://*:5000") .UseStartup<Startup>(); 或在部署是直接指定:dotnet *.dll --urls http://*:5000

Centos7发布说明 环境说明: 服务器系统CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值