centos 关闭防火墙_超详细!在Centos上搭建Nginx反向代理!

3c22bad45ce8a23b1541acc161ce0c9c.png

前言

上一篇文章 MeCC:第一次用虚拟机如何配置网络连接 介绍了如何在虚拟机中安装Centos系统并配置网络,现在网络已经通了,让我们开心愉快的进行下一步吧,搭建nginx反向代理,让其他主机可以访问到我们的页面~

吐血推荐:在搭建Nginx中可能遇见的问题,或许可以通过这些方式解决!

为什么在一开头就说这个问题,因为我真的是踩了N个坑,脑壳都要扣痛了,希望能够帮助遇到类似问题的同学们!在完成后面文章Step2的操作后,可能你发现还是没法访问地址,可能的原因包括nginx没有正常启动,或者防火墙拦截了请求,以下的方法可以尝试下:

1. 重启Centos

reboot 

2. 开启Nginx服务

systemctl start nginx 

3. 关闭防火墙 & 禁止开机启动

systemctl stop firewalld.service
systemctl disable firewalld.service  

4. 关闭SELinux服务,这个服务可能会阻止你向特定端口转发,在之后设置反向代理时因为这个问题困扰了我很久!!进入到/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,别忘了 :wq 进行保存,Linux基本操作命令我就不赘述啦~

vi /etc/selinux/config 

放在这里着重强调下,给需要的同学,下面开始进入正题,哈哈哈哈哈~

Nginx是什么

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

d3a0da1dc41d9d6e7846230e51622dcc.png

上图基本上说明了当下流行的技术架构,其中Nginx有点入口网关的味道。

正向代理和反向代理

  • 正向代理
  • 举个例子:由于防火墙的原因,我们并不能直接访问谷歌,那么我们可以借助VPN来实现,这就是一个简单的正向代理的例子。这里你能够发现,正向代理“代理”的是客户端,而且客户端是知道目标的,而目标是不知道客户端是通过VPN访问的。

57db3e2f8611512dff6a4c8419a7de47.png
  • 反向代理
  • 概念:当我们有一个服务器集群,并且服务器集群中的每台服务器的内容一样的时候,同样我们要直接从个人电脑访问到服务器集群服务器的时候无法访问,必须通过第三方服务器才能访问集群。这个时候,我们通过第三方服务器访问服务器集群的内容,但是我们并不知道是哪一台服务器提供的内容,此种代理方式称为反向代理
  • 举个例子:当我们在外网访问百度的时候,其实会进行一个转发,代理到内网去,这就是所谓的反向代理,即反向代理“代理”的是服务器端,而且这一个过程对于客户端而言是透明的。

67bb0a08cfb78183f6334a0a42bb540c.png

安装Nginx软件

1. 安装EPEL软件仓库支持

yum install -y epel-release 

2. 安装Nginx软件包

yum install -y nginx 

3. 启动Nginx服务

systemctl start nginx.service 

4. 查看Nginx服务是否已启动:

ps -ef | grep nginx

5. 关闭防火墙

systemctl stop firewalld.service

如果一切正常,此时就可以打开浏览器看了,默认监听80端口~

ce7a387c2c399017ae8e07c6a7e8ed4d.png

配置Nginx

查看Nginx配置文件nginx.conf

vi /etc/nginx/nginx.conf 

检查是否有如下语句

include /etc/nginx/conf.d/*.conf; 

如果存在,说明nginx的配置文件均设置在conf.d文件夹下,我们进入到conf.d文件夹

cd /etc/nginx/conf.d/ 

在 conf.d 目录下新建一个站点的配置文件,例如:test.com.conf:

vi test.com.conf 

配置内容这样设置(按Insert键进入编辑模式):

server 

写好后,按ESC键退出编辑模式,输入 :wq 保存并退出编辑

:wq 

检查配置文件是否有误,不要忘了加分号哦

nginx -t 

重启Nginx服务

systemctl start nginx 

接着我们将静态资源存放在我们定义的 /usr/share/nginx/http://test.com 目录下,这里我们仅做测试,于是在该目录下创建一个测试网页index.html文件。

传输文件的方式有很多,简单点的可以用XFtp软件,图形化界面直接拖拽,详情见我的文章 MeCC:超详细!阿里云服务器ECS建站指南!

正常情况下,就可以通过访问IP地址的方式访问到网页了,如果你使用http://test.com进行访问,记得设置下本地的host文件

设置反向代理

可能你的项目中会遇到,你请求的服务器地址并不在你的本机上,需要向另一台主机上去请求,这时可以修改我们之前的test.com.conf文件:

server 

修改完成后重新加载下nginx配置

nginx -s reload 

大功告成!去查看你的页面吧!如果遇到了问题,请参考本文开头!


欢迎收看我的其他文章:

MeCC:超详细!阿里云服务器ECS建站指南!

MeCC:阿里云服务器建站指南(进阶篇):发布你的个人主页

MeCC:将Vue项目打包为Windows应用(.exe)

MeCC:如何配置Webpack/Vue-CLI实现前端跨域(附跨域大全)

MeCC:第一次用虚拟机如何配置网络连接

本文参考文章:

地球的外星人君:8分钟带你深入浅出搞懂Nginx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值