• Nginx环境搭建、负载均衡测试


    Nginx环境搭建、负载均衡测试

    系统环境:
    win10,IDEA2020,JDK8

    一、nginx环境搭建

    1.ngxin下载

    Nginx官网下载: http://nginx.org/en/download.html
    Nginx有三种版本,分别是Mainline version(开发版)、Stable version(稳定版)、Legacy versions(早期版本)。一般选用稳定版本。
    Linux使用时选用中间的版本下载然后通过Xftp或Filezilla工具上传到Linux服务器上即可。也可以从浏览器上复制下载文件的URL地址后在服务器中使用wget命令进行下载。

    在这里插入图片描述
    下载的是个zip包,解压到文件夹即可。
    在这里插入图片描述
    2. nginx的启停
    启动:可以双击nginx.exe
    停止:打开nginx文件夹,在地址栏输入cmd,然后回车打开命令终端,输入

    nginx -s stop

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    验证:输入网页localhost,出现nginx的欢迎页面则启动成功。

    在这里插入图片描述

    二、负载均衡测试

    1.先用IDEA创建一个Springboot+Thymeleaf的项目。

    File==>New ==>Project

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    修改pom文件:
    在这里插入图片描述
    修改application.yml文件:

    server:
      port: 8080
    spring:
      thymeleaf:
        # 关闭thymeleaf的缓存
        cache: false
        # 文件的地址
        prefix: classpath:/templates/
        # 文件的后缀名
        suffix: .html
        # 是否启用thymeleaf
        enabled: true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    controller文件代码:

    @Controller
    public class NginxTestController {
        @Value("${server.port}")
        private String port;
    
        @RequestMapping("/")
        public ModelAndView index(){
            ModelAndView model = new ModelAndView();
            model.addObject("port", port);
            model.setViewName("index");
            return model;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    index.html文件代码:

    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div style="border: 2px solid red;margin: auto;width: 800px;text-align: center">
        <div  id="nginx_title">
            <h1>欢迎来到XXX高级会所,我是<span th:text="${port}"></span> 号!</h1>
        </div>
    </div>
    </body>
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    修改nginx的配置文件(conf/nginx.conf):

    upstream nginx_boot{  
       # 30s内检查心跳发送两次包,未回复就代表该机器宕机,请求分发权重比为1:2  
       server 192.168.0.000:8080 weight=100 max_fails=2 fail_timeout=30s;   
       server 192.168.0.000:8090 weight=200 max_fails=2 fail_timeout=30s;  
       # 这里的IP请配置成你WEB服务所在的机器IP  
    }  
      
    server {  
        location / {  
            root   html;  
            # 配置一下index的地址。  
            index  index.html index.htm index.jsp index.ftl;  
            proxy_set_header Host $host;  
            proxy_set_header X-Real-IP $remote_addr;  
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
            # 请求交给名为nginx_boot的upstream上  
            proxy_pass http://nginx_boot;  
        }  
    }  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    修改完配置文件需要重启nginx

    下面我们启动两个web服务:
    在这里插入图片描述
    测试:

    nginx负载均衡

    可以看到,一次80的端口两次90的端口。负载均衡测试成功。

  • 相关阅读:
    Flink学习第十天——玩转Flink Core Api常用Transformation算子 多案例实战
    8-4 Prometheus服务发现
    计算机毕业设计ssm基于疫情防控下社区管理平台my3tu系统+程序+源码+lw+远程部署
    C++ 函数重载解析策略
    文盘Rust -- tonic-Rust grpc初体验
    2022最新 MySQL 内部技术架构面试题
    20231120进程优先级和调度策略
    strcpy, strcat,strcmp的介绍和模拟实现
    提升VR全景摄影画质的8个因素
    计算机毕业设计Java影院网上售票系统(系统+程序+mysql数据库+Lw文档)
  • 原文地址:https://blog.csdn.net/weixin_45732391/article/details/133123237