CentOS上使用nginx运行.net core web应用

CentOS上使用nginx运行.net core web应用

安装.NET Core

参考:https://www.microsoft.com/net/learn/get-started/linuxcentos

按步骤执行以下命令:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

这里写图片描述

sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.3

执行完以上命令后,可使用dotnet --version 查看当前.net core版本:

这里写图片描述

安装Ningx

sudo yum install epel-release
sudo yum install nginx
sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

启动nginx:

service nginx start

访问虚拟机,如下如,则成功安装并启动nginx:

这里写图片描述

发布web站点到centos

这里写图片描述

如图,成功吧webapi上传到centos home/NetCore文件夹下。
然后输入dotnet yourappname.dll运行webapi站点,如下:

这里写图片描述

配置nginx反向代理

配置如下,只需要配置如下内容,其他不需要修改,吧80端口转发到5000即可:
这里写图片描述

本机成功访问:

这里写图片描述

一个很难找的问题

在配置完nginx80端口转发到5000后,发现一个问题。
问题描述:
在CentOS上吧.net core webapi站点上传到centos,在putty中curl http://localhost:5000可正常返回数据,但是当我在我的电脑上访问虚拟机192.168.111.135是返回502错误,没有映射到5000端口,如果不修改nginx配置文件,访问192.168.111.135是正常的。
原因:SELinux配置问题。
解决:关闭SELinux。
输入:sestatus,如果SELinux status: enabled ,表示开启,输入vi /etc/selinux/config 修改配置:SELINUX=disabled。
参考:https://segmentfault.com/q/1010000006610283

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值