简单介绍下什么是nginx?它能用来做什么?

Nginx入门

Nginx是一个轻量的Http服务器,可以高效处理反向代理,负载均衡等功能。

Nginx能做什么

  • 反向代理
  • 负载均衡
  • 动静分离
  • 处理跨域

安装

Mac环境

brew install nginx //安装

nginx -v //查看版本

nginx //启动nginx

可通过nginx.conf查看默认端口号,一般初始默认为8080,找不到配置文件目录可执行nginx -t 查看
请添加图片描述

浏览器中访问[http://localhost:8080],出现该页面则初始化成功
请添加图片描述

Window环境

window环境可通过官网安装即可

反向代理

代理是服务器与客户端之间的一层服务器,客户端向代理服务器发起请求,代理服务器再将请求发送给真正要请求的服务器,再响应给客户端。如我们平时使用的VPN就是一种,这种是正向代理,它是为客户端服务的。

反向代理则是客户端发起请求之后,由代理服务器来接受请求,再将请求发送到内部服务器上,再将结果响应给客户端,它是为服务端服务的。

有些同学听起来可能两者有些类似分不清,举个例子。

  • 正向代理就是我们平时如果要访问外网,我们需要使用VPN,我们向VPN发起请求,它将我们的请求代理到外网。
  • 反向代理就是我们去访问某个公司的网站,这时我们去访问他们的某一个服务器,这个服务器会将收到的请求发送给他们内部的其他多个服务器,我们作为客户是没有感知的。

负载均衡

当一台服务器的访问量越来也大时,它承受的压力也越来越大,直至挂掉,为了避免这种情况我们就需要有更多的服务器来分摊压力,这时就可以用到反向代理将客户端端请求分散到多个内部服务器上来缓解压力。而负载均衡就是将收到的请求合理地分配到合适的服务器上,从而保证整个服务器的性能最优情况。

常用策略

1.轮询(默认情况)

nginx将把收到的请求轮流按顺序分配给不同的服务器,若某台服务器挂掉则自动剔除

upstream myserver{
  server 127.0.0.1:80;
  server 127.0.0.1:81;
}
2.权重

通过使用weight(默认为1),给服务器设置权重,权重越高分配到的也更多。

upstream myserver{
  server 127.0.0.1:80 weight =1;
  server 127.0.0.1:81 weight =2;
}
3.固定ip

上面两种情况都会有一个弊端,假如用户在不多次访问都不在同一台服务器上的话,此时多个服务器的session是不共享的,通过ip_hash可以让请求按ip分配,固定ip访问固定的服务器。

upstream myserver{
  ip_hash;
  server 127.0.0.1:80;
  server 127.0.0.1:81;
}
4.最小连接数策略

将请求优先分配给压力较小的服务器,它可以平衡每个队列的长度,并避免向压力大的服务器添加更多的请求。

upstream myserver{
  least_conn;
  server 127.0.0.1:80;
  server 127.0.0.1:81;
}

处理跨域

例如

  • 客户端的域名为a.com

  • 服务端域名为b.com
    现在我们客户端向服务端发起请求的话会因为域名不同导致跨域,这时候我们只需要通过nginx将server_name设置为a.com,将其代理到b.com。

    server{
      listen 80;
      server_name a.com
      location /{
      	proxy_pass b.com
    	}
    }
    
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值