Nginx简介

Nginx是一款自由的、开源的、高性能的HTTP服务器反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

  • Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接
  • 高度的模块化和自由软件许可证使得第三方模块层出不穷(开源)
  • Nginx是一个跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris,AIX,Mac OS等操作系统上
  • 稳定性极高

一、安装Nginx,实现双击启动和双击关闭

1、下载Nginx

官方下载地址:http://nginx.org/en/download.html

随便选个windows版本的

windows下负载均衡 windows负载均衡软件_nginx

2、得到安装包后,随便放一个你喜欢的目录下,并进入目录

windows下负载均衡 windows负载均衡软件_intellij-idea_02

3、双击启动,双击关闭

3.1、双击启动,点击nginx.exe文件就可以了

3.2、双击关闭

3.2.1、创建一个名为关闭nginx.txt的文件并写入taskkill /f /t /im nginx.exe

windows下负载均衡 windows负载均衡软件_windows_03

3.2.2、将文件改后缀为关闭nginx.bat文件

windows下负载均衡 windows负载均衡软件_windows_04

3.3、创建快捷方式,就可以放在桌面上了

windows下负载均衡 windows负载均衡软件_nginx_05

4、测试

4.1、双击nginx.exe文件

4.2、用浏览器访问localhost的地址,如下显示证明nginx启动成功

windows下负载均衡 windows负载均衡软件_windows_06

4.3、关闭nginx,双击关闭nginx.bat文件,刷新localhost页面,如下显示证明nginx关闭成功

windows下负载均衡 windows负载均衡软件_负载均衡_07

二、配置负载均衡并测试

1、打开conf目录下的nginx.conf

windows下负载均衡 windows负载均衡软件_intellij-idea_08

2、修改nginx.conf文件

其实我就添加了upstream server_listproxy_pass的代码,其他都是这个配置文件自带的,以下是我的整个nginx.conf文件的全部代码

worker_processes  1;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
	
	# 负载均衡配置访问路径 serverList名字随便取
	upstream serverList{
	   # 这个是tomcat的访问路径
	   server localhost:8080;
	   server localhost:9090;
	}

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
			proxy_pass http://serverList;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }



}

3、使用jmeter工具测试

3.1、双击启动nginx.exe文件

3.2、启动两个springboot项目:idea实现同时启动两个相同服务但不同端口的项目

windows下负载均衡 windows负载均衡软件_负载均衡_09

3.3、配置jmeter:jmeter安装与使用,全图文讲解

windows下负载均衡 windows负载均衡软件_windows_10

windows下负载均衡 windows负载均衡软件_nginx_11

3.5、查看springboot控制台输出信息

3.5.1、8080端口

我们可以看见nginx默认采用轮询的方式实现负载均衡,我们可以看见8080端口下面有十条数据

windows下负载均衡 windows负载均衡软件_windows下负载均衡_12

3.5.2、9090端口

9090这个端口下面也有十条数据

windows下负载均衡 windows负载均衡软件_nginx_13