linux(CentOS7)安装配置部署Nginx<二、基础配置>

书接上回,上回说了如何通过yum的方式安装nginxlinux(CentOS7)安装配置部署Nginx<一、基础安装>
这次来学习一下,nginx安装之后,应该怎么配置,比如说反向代理?负载均衡?这些听起来好像很牛逼的东西。

为什么要使用Nginx,Tomcat不好麽?

举个例子,当你在地址栏访问https://baidu.com的时候,过程是这样的:
首先,浏览器向服务器提交第一次请求,然后服务器返回网页,浏览器解析网页,解析过程中,发现js链接,img链接等等,然后服务器再次向这些静态资源发送请求。所以在你感觉好像就发送了一次请求,可它其实是长这样:
在这里插入图片描述
你会发现你回车的一瞬间,其实发送了很多个请求。
试想一下,如果每个请求都是通过Tomcat获取,那么,它的压力将是巨大的。
从这些请求中可以发现,大部分请求都是静态资源请求,业务逻辑的请求其实只占小部分,所以,我们完全可以,将这两种请求分开,静态资源用Nginx来处理,业务请求用tomcat来处理,从而减轻tomcat的压力,提高整体并发量,也就是所谓的前后端分离。

什么叫反向代理?

先说正向代理,假设你有a和b两台服务器,a连外网,b无外网,但是a和b又相互连接,因此b通过a来上外网,这就是所谓正向代理。
再说反向代理,还是上面的a和b两台服务器,此时a接受外网的请求,然后将请求转发给b,那么对于外网请求来说,他会觉得是a处理了他的请求,其实不然,他的请求是b处理的
试想一下,如果有万级的请求访问a,那么单靠a是肯定撑不住,所以我们可以用反向代理,将请求转发给很多个b这种专门处理请求的服务器,那么不管你有多少请求,我只需要不停的添加服务器b的数量,便能解决问题。

什么是负载均衡?

上面反向代理的概念已经清晰,但其实这之中还存在问题
假如说我现在有三台b服务器,a接受到万级请求之后,如何将这么多的请求转发给多个b?
我们可以这样设置,将a的请求三等分,然后均匀的转发到b服务器上去,但是实际应用中,请求的复杂度通常与业务是分不开的,比方说r1请求是计算10的阶乘,r2请求是计算一亿的阶乘,那么很明显,当这两种请求分别发到服务器b1、b2的话,他们干的活其实是不一样的,那么此时,恰好所有的比较复杂的请求全部转发到b1上,比较轻松的请求全部转发到b2上,这就是导致了服务器闲的闲死,累的累死。这该怎么办?
如果b1因为某种原因宕机了,那又该怎么办?
因此,如何将请求分发?如何解决部分服务器宕机的问题?这些问题的终极解决方案就叫负载均衡。
负载均衡是一种解决问题的方案,并不是某个软件。

如何使用Nginx来实现反向代理?

首先,必须关掉selinux(下面是临时关闭)

setenforce 0

然后编辑配置文件vi /etc/nginx/conf.d/default.conf

在这里插入图片描述

location / 表示处理所有请求
proxy_pass http://127.0.0.1:8001; 表示把请求都交给http://127.0.0.1:8001来处理
接着重启Nginx

systemctl restart nginx

然后访问地址就会观察到已经反向代理到tomcat了
既然直接通过http://127.0.0.1:8001 可以访问,那么干嘛要通过http://127.0.0.1 去反向代理到tomcat呢? 为什么不直接使用tomcat呢?

因为nginx在处理静态文件的吞吐量上面比tomcat好很多,通常他们俩配合,不会把所有的请求都如本例所示的交给tomcat, 而是把静态请求交给nginx,动态请求,如jsp, servlet,ssm, struts等请求交给tomcat. 从而达到动静分离的效果。

如何做到动静分离?

修改配置文件vi /etc/nginx/conf.d/default.conf
在这里插入图片描述
这表示所有的css js png访问都由nginx来做,文件存放的地址是/home/static/
这里要注意,填写本地地址的时候,要用正斜杠 / 不要用反斜杠 \
写完之后重启nginx

systemctl restart nginx

如何使用Nginx来实现负载均衡?

编辑配置文件vi /etc/nginx/nginx.conf
在这里插入图片描述

weight表示权重,值越大,被分配到的几率越大。 最大多少呢?我也不知道。。。反正10以内都可以用吧,我想的话~
然后修改default.confvi /etc/nginx/conf.d/default.conf
在这里插入图片描述

写完之后重启nginx

systemctl restart nginx

今天先到这里,明天晚上接着肝……

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值