loading...
Nginx配置实例
Published in:2022-01-31 | category: Nginx
Words: 884 | Reading time: 3min | reading:

Nginx配置实例

反向代理

实例1

  1. 实现效果
    1. 打开浏览器,在浏览器地址栏中输入地址www.123.com,跳转到linux系统tomcat主页面中
  2. 准备工作
    1. 在Linux系统安装tomcat,使用默认端口8080
  3. 访问过程的分析

Razw9K.png

  1. 具体配置

    第一步 在windows系统的host文件中进行域名和ip对应关系的配置。

    RdSJxS.png

    添加内容到host文件中

    RdSWZ9.png

    第二步 在nginx进行请求转发的配置(反向代理)

    RdPHfI.png

    最终测试

    Rdkd6P.png

实例2

  1. 实现效果

    使用nginx反向代理,根据访问的路径跳转到不同端口的服务中

    nginx监听端口号为9001,

    访问http://127.0.0.1:9001/edu/ 直接跳转到127.0.0.1:8000

    访问http://127.0.0.1:9001/vod/ 直接跳转到127.0.0.1:8081

  2. 准备工作

    (1) 准备两个tomcat服务器,一个8080端口,一个8081端口

    (2) 创建文件夹和测试页面

  3. 具体配置

    (1) 找到nginx配置文件,进行反向代理配置

    1
    2
    3
    4
    5
    6
    7
    #更改配置
    location ~/edu/ {
    proxy_pass http://localhost:18080
    }
    location ~/vod/ {
    proxy_pass http://localhost:28080
    }

    (2)开放对外访问的端口号

  4. 最终测试

    (1)访问18080端口

RwLmtK.png

​ (2)访问28080端口

RwLlXd.png

负载均衡

  1. 实现效果

    (1) 浏览器地址栏输入地址 http://localhost/edu/a.html,负载均衡效果,平均分配到18080和28080的端口中

  2. 准备工作

    (1) 准备两台tomcat服务器,一台18080,一台28080

    (2) 在两台tomcat里面webapps目录中,创建名称是edu文件夹,在edu文件夹,在edu文件夹中创建页面a.html,用于测试

  3. 在nginx配置文件中的配置

    RwjwcD.png

    Rwv5RK.png

    Nginx提供了几种分配方式(策略):

    • 轮询(默认)

      每个请求时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

    • weight

      weight代表权重默认为1,权重越高被分配的客户端越多

      指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:

      R0SerF.png

    • ip_hash

      每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题。例如:

      R0S5R0.png

    • fair(第三方)

      按后端服务器的响应时间来分配请求,响应时间短的优先分配。

      R0pcSx.png

动静分离

​ 通过location指定不同的后缀名实现不同的请求转发。通过expires参数设置,可以使浏览器缓存过期时间,减少与服务器之间的请求和流量。具体Expires定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,不建议使用Expires来缓存),我这里设置3d,表示在这3天内访问这个URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码304,如果有修改,则直接从服务器重新下载,返回状态码200。

  1. 准备工作

    在linux系统中准备静态资源,用于进行访问

R0eARe.png

  1. 修改配置文件

    R0sPT1.png

    1. 最终测试

    (1) 浏览器中输入地址

    http://101.34.8.235/image/

    R0cK0J.png

    (2)在浏览器地址栏中输入地址

    http://101.34.8.235/www/a.html

    R0giuD.png

Prev:
Nginx配置高可用集群(未完)
Next:
Nginx文件匹配规则
catalog
catalog