Centos 7安装Nginx进行反向代理

1.安装Centos的EPEL仓库

yum install epel-release

2.安装Nginx

yum install nginx

3.Nginx安装完成完成后,系统不会启动Nginx,使用如下命令启动:

systemctl start nginx

4.设置系统重启后默认启动Nginx:

systemctl enable nginx

5.查看防火墙的状态并启动防火墙

systemctl status firewalld   	# 查看防火墙状态
systemctl start firewalld  		# 启动防火墙

6.使用如下命令, 允许HTTP和HTTPS通过防火墙:

firewall-cmd  --permanent --zone=public --add-service=http      # 允许HTTP
firewall-cmd  --permanent --zone=public --add-service=https    	# 允许HTTPS
firewall-cmd  --reload 

在浏览器地址栏输入你服务器的IP地址, 如果出现下图表示Nginx安装配置成功;

在这里插入图片描述
如果无法访问, 请查看firewall 是否开放80端口:

firewall-cmd --permanent --zone=public --add-port=80/tcp   	# 开放80端口
firewall-cmd --reload                             			# 重启防火墙

修改Nginx的配置文件

首先,把Nginx的默认配置文件 /etc/nginx/nginx.conf里 80 端口转发配置 server 节点用 # 符注释掉。使用命令vi 或将 nginx.conf 文件下载(使用xftp或其他ftp工具都行)到本地修改完成后在上传(建议);

vi /etc/nginx/nginx.conf  		# 打开文件编辑模式, 输入i 进行编辑 完成后 按ESC键输入:wq 回车 退出编辑模式

注释如下图所示
在这里插入图片描述
然后我们重新创建一个自定义的Nginx配置文件用来代理Core 程序, 我创建名称为nginxforcore.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;
    }
}

proxy_pass http: 后的url为你在core 启动项配置的路径(默认localhost:5000)

将创建好的自定义配置文件上传到 /etc/nginx/conf.d目录下 ,最后执行命令 重启

nginx -s reload

将Nginx添加到SELinux白名单

1.查看SELinux状态是否为Enforcing(SELinux默认状态为Disabled), 必须保证SELinux的状态为Enforcing否则添加白名单会失败;
https://www.linuxidc.com/Linux/2016-11/137723.htm(修改SELinux的状态)

修改SELinux的状态:

vim /etc/selinux/config

将SELINUX=disabled改为SELINUX=enforcing
使用如下命令:

getenforce

如果查询出的值为Enforcing, 执行下一步操作:添加Nginx到SELinux白名单

2.使用如下命令, 将Nginx添加至SELinux白名单,依次执行以下命令

yum install policycoreutils-python
 
cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M  AddNginxToSELinux
 
semodule -i  AddNginxToSELinux.pp

(AddNginxToSELinux)该文件可以自己命名
测试是否修改成功:
①cd到发布目录(我的为publish文件夹)

②运行.Net Core程序:(dotnet AbpMPA.Web.Mvc.dll,后面的dll文件为你.Net Core程序的入库dll)

③在浏览器地址栏输入你服务器的IP地址, 如果出现你自己程序运行的界面,例如下图(这是我的程序的登陆界面)说明我们的ASP.NET Core MVC 已经发布成功了;
在这里插入图片描述
如果没有出现上图, 而是

在这里插入图片描述

请检查:

1-Nginx是否按上述步骤正确配置;

2-防火墙及阿里云安全组策略是否正确配置(主要指80端口);

3-.NET Core程序是否在CentOS下正常运行;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值