nginx负载均衡器

  • nginx负载均衡器
  • 集群和分布式总结
  • 负载均衡器介绍
  • nginx部署准备
  • 部署nginx
  • 配置nginx
  • nginx反向代理


nginx负载均衡器

集群和分布式总结

什么是集群:
集群就是多台机器, 是一种线上的部署方案, 很多机器加起来, 性能就比一台机器强, 一般用这种部署方案来解决高并发, 高可用, 容灾, 集群也有不同的叫法, 负载均衡集群, 高可用集群, 扩容集群等

什么是分布式:
分布式也叫作SOA, 是一种设计方案, 以前使用所有模块在一个项目中的写法, 叫做垂直架构, 后来由于互联网的兴起, 为了模块间的解耦和可扩展性以及部署的灵活性, 会将一个项目按照模块进行拆分, 一个模块就是一个项目,这种设计方案叫做分布式架构, 也叫作SOA架构.

负载均衡器介绍

什么是负载均衡器, 以及作用:
负载均衡器就是为了解决高并发而生的一种解决方案, 它的作用就是接受所有请求, 并将请求分发给tomcat集群.这样均匀分布请求到很多tomcat中, 可以解决高并发.

负载均衡器的分类:

  • 硬负载:
    硬负载就是硬件, 很贵, 需要花钱购买, 常用的硬负载机器有f5, netscaler
    优点就是性能好
  • 软负载:
    软件, 免费使用, 需要部署在linux操作系统上.常用的有nginx, lvs
    优点就是免费使用, 缺点就是性能没有硬负载好. nginx一般单机可以抗住每秒五万的请求量.

nginx部署准备

部署图

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_一个项目如何部署多次实现负载均衡


一、启动两台linux虚拟机,选择已复制虚拟机,并查看ip地址

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_linux_02


一个项目如何部署多次实现负载均衡 负载均衡怎么部署_tomcat_03


二、关闭两台linux防火墙服务

关闭正在运行的防火墙服务

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_一个项目如何部署多次实现负载均衡_04


关闭防火墙服务开机启动:可以使用chkconfig查看开机启动服务的列表

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_一个项目如何部署多次实现负载均衡_05


三、修改tomcat默认页面,以便能够分辨两台tomcat。

部署nginx

一、使用xftp工具,连接linux,把nginx拖入linux中

(将keepalived也拖进去)

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_nginx_06


二、安装gcc

yum install gcc

三、将nginx强制解压到当前目录

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_tomcat_07


四、初始化nginx,进入nginx源码目录,复制以下执行

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

五、进入到var目录下,创建temp目录(使用-p递归创建)

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_tomcat_08


六、返回nginx源码目录,使用make命令编译七、使用make install命令进行安装,安装到了/usr/local目录下

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_一个项目如何部署多次实现负载均衡_09


八、启动nginx

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_分布式_10


九、访问nginx,nginx默认端口为80,直接访问ip即可

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_一个项目如何部署多次实现负载均衡_11


十、停止nginx

方式1,快速停止:

./nginx -s stop

方式2,完整停止(建议使用)

./nginx -s quit

方式3,重新加载配置文件

./nginx -s reload

配置nginx

一、进入conf目录,使用vim编辑器编辑nginx.conf文件

配置两处

  1. 在server上,配置上tomcat服务器地址,有几个tomcat就配置几个
upstream tomcat_server{
        server 192.168.200.128:8080;
        server 192.168.200.129:8080;
}
  1. 在location中配置,注意和上面的名称一样
proxy_pass http://tomcat_server;

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_nginx_12


二、启动nginx,进行访问,发现访问nginx时,会访问tomcat服务器,且均匀分布在两台tomcat上三、停止nginx,进行权重配置

在tomcat地址后,配置上weight

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_nginx_13


此时,再访问nginx,会发现访问两次128,然后访问一次129四、在另一台nginx上,配置相同的配置

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_一个项目如何部署多次实现负载均衡_14

nginx配置完成!

nginx反向代理

一个项目如何部署多次实现负载均衡 负载均衡怎么部署_一个项目如何部署多次实现负载均衡_15


nginx反向代理配置:一个nginx充当代理人的角色,而后面的tomcat不是集群,就是单台tomcat,部署一个项目,这种部署方案nginx就相当于项目的代理人,叫做反向代理配置。

nginx负载均衡配置:一个nginx,对应tomcat集群,多个tomcat中部署的是同一个项目,nginx就可以将请求均匀地分发给tomcat集群来处理请求,这种配置叫做负载均衡配置。