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文件:

java 复制代码
server:
  port: 8080
spring:
  thymeleaf:
    # 关闭thymeleaf的缓存
    cache: false
    # 文件的地址
    prefix: classpath:/templates/
    # 文件的后缀名
    suffix: .html
    # 是否启用thymeleaf
    enabled: true

controller文件代码:

java 复制代码
@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;
    }
}

index.html文件代码:

java 复制代码
<!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>

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

java 复制代码
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;  
    }  
}  

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

下面我们启动两个web服务:

测试:

nginx负载均衡

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

相关推荐
Wang's Blog2 小时前
Java 项目实战: 外卖平台优化-前端dist部署与Nginx反向代理rewrite
java·前端·nginx
life码农18 小时前
Nginx 配置允许指定 IP 段访问:从 192.168.1.1 到 192.168.1.124 及 /24 详解
网络·tcp/ip·nginx
吴声子夜歌20 小时前
Nginx应用与运维——Nginx编译及部署(部署)
java·运维·nginx
Wang's Blog21 小时前
Java 项目实战: 外卖平台优化-Nginx目录结构与conf配置文件体系
java·nginx
XS0301061 天前
Nginx 学习指南
运维·nginx
吴声子夜歌1 天前
Nginx应用与运维——Nginx代理服务应用实战(TCP/UDP代理)
运维·tcp/ip·nginx
吴声子夜歌1 天前
Nginx应用与运维——Nginx缓存服务应用实战(一)
运维·nginx·缓存
Thomas.Sir1 天前
第13课:Spring Cloud LoadBalancer 新版负载均衡核心原理
spring cloud·负载均衡
Wang's Blog1 天前
Java 项目实战: 外卖平台优化-Nginx常用命令与环境变量配置
java·网络·nginx
苦瓜不会码代码1 天前
负载均衡会话保持-扩容后登录掉线踩坑
运维·负载均衡