Nginx简介

1. Nginx是什么

Nginx是一个高性能的基于HTTP的反向代理的服务器、也是一个基于SMTP和POP3的邮件服务器 其主要功能就类似于Tomcat,对外提供资源共享.

2. Nginx能干什么

Nginx既然是服务器,那么其能做的事就是数据共享,具体体现如下:

  • 虚拟主机

    虚拟主机就是虚拟服务器,就跟Java虚拟机差不多,Java虚拟机虽然是虚拟的,但也具备计算机的功能,也能运行。虚拟主机也一样,虽然不存在,但Nginx可以虚拟出来,对外提供服务

  • 反向代理

    反向代理(Reverse Proxy)是指以代理服务器来接收客户端请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给客户端

    反向代理的作用:保证内网的安全,阻止web攻击,因为客户端是无法感知真正做事的服务器的存在                                                                                                                                          负载均衡:代理服务器将接收的请求均分给被代理的服务器

  • 负载均衡

    负载就是服务器承载的负荷,所谓均衡指的是多个服务器之间的负荷对比,单个服务器没有均衡的说法。负载均衡就是指多个服务器之间处理的请求数量要大致相同

  • 动静分离

    动指的是资源会变化,比如从服务器获取的数据。

    静指的就是资源不会变化,比如从服务器获取的html、css、js、图片等。

    动静分离指的是动态资源放在服务器上处理,静态资源放在nginx上处理。

3. Nginx配置

3.1虚拟主机配置

server {
       listen   8089;
       server_name localhost;
       location /{ 
         root g:/demo;
         index index.html;
       }
}

3.2 反向代理配置

# 以/exam/开始的请求会被代理到另外的服务器访问
location /exam/ {
   proxy_pass  http://localhost:8088/;
}

4.3 负载均衡配置

upstream electronicServer {
    server localhost:8088;
    server localhost:8099;
}
# 以/electronic/开始的请求会被代理到另外的服务器访问
location /exam/ {
	proxy_pass  http://examServer/;
}

负载均衡---轮询

upstream electronicServer {
    server localhost:8088;
    server localhost:8099;
}

负载均衡---权重

upstream electronicServer {
    server localhost:8088 weight=2; #权重越大,被分配处理的请求越多
    server localhost:8099 weight=1;
}

负载均衡---ip_hash

ip_hash就是通过请求的ip地址,使用hash算法,算出来应该访问那一台服务器,如果是ip地址没变,那么这个请求的服务器 就永远都不会变

upstream examServer {
    ip_hash; # 负载均衡规则
    server localhost:8088;
    server localhost:8099;
}

4. 附录: 匹配规则

  • =

    = 开头表示精确匹配

  • ^~

    ^~ 开头 表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

  • ~

    ~ 开头表示区分大小写的正则匹配

  • ~*

    ~* 开头表示不区分大小写的正则匹配

  • !~

    !~开头表示区分大小写不匹配

  • !~*

    !~*开头表示不区分大小写不匹配

  • /

    / 通用匹配,任何请求都会匹配到。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值