资讯

展开

Windows10-本机实现nginx+tomcat负载均衡

作者:快盘下载 人气:
标注;tomcat部署项目;windows系统;nginx80端口配置多个站点
1、C:WindowsSystem32driversetchosts配置虚拟路径;加上ip和对应的域名。形如;
127.0.0.1 www.a.com
127.0.0.1 www.b.com
127.0.0.1 www.c.com
2、nginx安装文件夹下;打开/conf/nginx.conf
在http里加上几个server
如果只是静态资源;就直接用root;就不需要反向代理;比如www.b.com就是访问的静态资源

server {
        listen       80;    #端口号
        server_name  www.a.com;     #域名

    #location / {
         #   root   html;   #相对nginx的安装文件夹下的路径
         #   index  index.html index.htm;     #相对上面html文件夹下的文件;作为启动页面
        #}

    location / {
            proxy_pass  http://localhost:8080/; #反向代理请求路径   
        }
    }

server {
        listen       80;
        server_name  www.b.com;

    location / {
            root  D:b;

        }
   }

server {
        listen       80;
        server_name  www.c.com;

    location / {
            proxy_pass  http://localhost:8081/;

        }
   }

3、启动nginx
;1;可直接运行安装nginx文件夹下的nginx.exe
;2;dos命令;win ; r -> cmd -> cd 到nginx安装文件夹下 -> start nginx

4、关闭nginx
;1;运用任务管理器;结束nginx.exe的进程
;2;dos命令;win ; r -> cmd -> cd 到nginx安装文件夹下 -> nginx.exe -s stop

5、访问
直接用域名就可以访问相应的项目

前言
1.什么是Nginx?
Nginx是一个高性能的HTTP和反向代理服务器,常用于做负载均衡服务器

搭建
一、nginx下载及安装
nginx下载
Windows10-本机实现nginx+tomcat负载均衡
下载后解压;直接双击nginx.exe 启动即可;注意的是;点击一次就行了;它会出来命令窗口后马上自动退出;但是这就是启动了;点击多次的话会遇到nginx配置不生效的情况

访问localhost;若出现如下界面代表成功
在这里插入图片描述
本机实现nginx+tomcat负载均衡
二、Tomcat配置
我是分别下载了7.0和8.5版本的tomcat
Windows10
tomcat启动的时候会去找你的CATALINA_BASE和CATALINA_HOME环境变量;在启动一个tomcat后;再启动一个发现启动不了;就是因为他们俩去找的同一个环境变量;所以我们需要配置两个。
本机实现nginx+tomcat负载均衡
配置好两个环境变量后;我们需要让这两个环境变量分别对应两个tomcat,也就是让其中一个去找CATALINA_BASE2和CATALINA_HOME2

打开其中一个tomcat的bin文件夹;找到startup.bat和catalina.bat文件;修改CATALINA_HOME->CATALINA_HOME2
CATALINA_BASE->CATALINA_BASE2

如果你使用的是文本文档;直接全局替换
如果是sublimetext;左上角find/replace

同时;要注意的是;要想启动两个tomcat必须进行端口的更改;防止端口冲突。
修改一个tomcat的端口就行;打开tomcat目录下的conf;编辑server.xml;将其中的三个端口分别;1;以避免冲突
本机实现nginx+tomcat负载均衡
至此;tomcat配置成功;我们可以在本机上运行两个tomcat了;如下
本机实现nginx+tomcat负载均衡
Windows10
三、配置nginx负载均衡
nginx目录下打开conf文件夹;打开nginx.conf
Windows10
在如下位置增加upstream;具体nginx调度算法请看后面
本机实现nginx+tomcat负载均衡

upstream wth{
server localhost:8080;
server localhost:8081;
}

在如下位置添加

proxy_pass http://wth;

本机实现nginx+tomcat负载均衡
至此;nginx配置完成;需要保存配置后重启nginx和tomcat

重启nginx:dos 窗口cd到跟根目录;nginx -s reload

重启tomcat:到根目录的bin目录;双击shutdown.bat文件;即可关闭;再双击startup.bat即可打开
四、 测试

本机实现nginx+tomcat负载均衡

五、nginx调度算法 nginx是根据自己的调度算法来选择转发到哪个tomcat上的 1、轮询

按时间顺序逐一分配到不同的后端服务器。

upstream wth {
server localhost:8080 ;
server localhost:8081 ;
}

2、加权轮询

可在配置的server后面加个weight=number;number值越高;分配的概率越大。

upstream wth {
server localhost:8080 weight=10;
server localhost:8081 weight=20;
}

3、ip_hash

每个请求按访问IP的hash分配;这样来自同一IP固定访问一个后台服务器。

upstream wth {
ip_hash;
server localhost:8080;
server localhost:8081;
}

4、least_hash

最少链接数;哪个机器连接数少就发分发给哪个机器。

upstream lb_demo {
least_conn;
server localhost:8080;
server localhost:8081;
}

5、url_hash

按访问的url的hash结果分配请求;是每个url定向到同一后端服务器上。

upstream wth {
url_hash;
server localhost:8080;
server localhost:8081;
}

六、注意
如果你重启后负载均衡配置文件没有生效;应该是你刚开始双击nginx.exe了很多次;解决方法就是关掉多余的就可以;cmd中

taskkill /IM nginx.exe /F

关闭所有的nginx进程;再打开一次就行了

原文链接;https://blog.csdn.net/weixin_43889841/article/details/102768088

Nginx几种调度算法

Nginx几种调度算法
我们经常用nginx做反向代理和负载均衡;这里汇总一下nginx的几种调度算法;

1、轮询

按时间顺序逐一分配到不同的后端服务器。

upstream lb_demo {
    server 172.16.255.194:9001;
    server 172.16.255.195:9001;
}

2、加权轮询

可在配置的server后面加个weight=number;number值越高;分配的概率越大。

upstream lb_demo {
server 172.16.255.194:9001 weight=10;
server 172.16.255.195:9001 weight=20;
}

3、ip_hash

每个请求按访问IP的hash分配;这样来自同一IP固定访问一个后台服务器。

upstream lb_demo {
ip_hash;
server 172.16.255.194:9001;
server 172.16.255.195:9001;
}

4、least_hash

最少链接数;哪个机器连接数少就发分发给哪个机器。

upstream lb_demo {
least_conn;
server 172.16.255.194:9001;
server 172.16.255.195:9001;
}

5、url_hash

按访问的url的hash结果分配请求;是每个url定向到同一后端服务器上。

upstream lb_demo {
url_hash;
server 172.16.255.194:9001;
server 172.16.255.195:9001;
}

6、hash关键值

hash自定义的key。

注;调度算法在设置upstream中配置;例如在此大括号里面写入ip_hash表示使用ip_hash的方式分配

轮询只是简单实现请求的顺序转发;并没有考虑不同服务器的性能差异;

加权轮询设置了初始时服务器的权重;但是没有考虑运行过程中的服务器状态;

IP Hash保证同一个客户端请求转发到同一个后台服务器实现了session保存;然而当某一后台服务器发生故障时;某些客户端将访问失败;

最少连接数只是考虑了后端服务器的连接数情况;并没有完全考虑服务器的整体性能。

小型集群搭建实践;五;--------配置nginx
Nginx详解;正向代理、反向代理、负载均衡原理;
Nginx几种调度算法

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!