【Nginx】快速入门

89 阅读2分钟

概述

Nginx(engine x)是一个高性能的HTTP和反向代理web服务器。

特点是占有内存小,并发能力强,简单易配置,支持高达 50000 个并发连接数的响应。

作用

代理

正向代理:

image.png

反向代理:

image.png

负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。

轮询

image.png

加权轮询

image.png

ip hash

iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

image.png

动静分离

动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jg、js等等文件),这些不需要经过后台处理的文件称为静态文件。

让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。

image.png

安装 Nginx

nginx: download

image.png

把该文件解压到一个非中文的目录,然后在 cmd 打开:

image.png

访问 http 默认端口 80:

image.png

在 http 里面配置多个 server 端口:

image.png

实战 - 反向代理+负载均衡

# 全局配置

events {
    worker_connections  1024;
}

http {
    # http 配置

    upstream backend {
      # 负载均衡配置 端口 权重
      server 127.0.0.1:8080 weight=1;
      server 127.0.0.1:8081 weight=2;
    }

  

    server {
        listen       80;
        server_name  localhost;

        # 代理
        location / {
            root   html;
            index  index.html index.htm;
        }

        location /api/ {
            proxy_pass http://backend; # backend 与上面的 upstream backend 名字对应
        }

        # error_page   500 502 503 504  /50x.html;
        # location = /50x.html {
        #     root   html;
        # }
    }
}