nginx负载均衡器
- nginx负载均衡器
- 集群和分布式总结
- 负载均衡器介绍
- nginx部署准备
- 部署nginx
- 配置nginx
- nginx反向代理
nginx负载均衡器
集群和分布式总结
什么是集群:
集群就是多台机器, 是一种线上的部署方案, 很多机器加起来, 性能就比一台机器强, 一般用这种部署方案来解决高并发, 高可用, 容灾, 集群也有不同的叫法, 负载均衡集群, 高可用集群, 扩容集群等
什么是分布式:
分布式也叫作SOA, 是一种设计方案, 以前使用所有模块在一个项目中的写法, 叫做垂直架构, 后来由于互联网的兴起, 为了模块间的解耦和可扩展性以及部署的灵活性, 会将一个项目按照模块进行拆分, 一个模块就是一个项目,这种设计方案叫做分布式架构, 也叫作SOA架构.
负载均衡器介绍
什么是负载均衡器, 以及作用:
负载均衡器就是为了解决高并发而生的一种解决方案, 它的作用就是接受所有请求, 并将请求分发给tomcat集群.这样均匀分布请求到很多tomcat中, 可以解决高并发.
负载均衡器的分类:
- 硬负载:
硬负载就是硬件, 很贵, 需要花钱购买, 常用的硬负载机器有f5, netscaler
优点就是性能好 - 软负载:
软件, 免费使用, 需要部署在linux操作系统上.常用的有nginx, lvs
优点就是免费使用, 缺点就是性能没有硬负载好. nginx一般单机可以抗住每秒五万的请求量.
nginx部署准备
部署图
一、启动两台linux虚拟机,选择已复制虚拟机,并查看ip地址
二、关闭两台linux防火墙服务
关闭正在运行的防火墙服务
关闭防火墙服务开机启动:可以使用chkconfig查看开机启动服务的列表
三、修改tomcat默认页面,以便能够分辨两台tomcat。
部署nginx
一、使用xftp工具,连接linux,把nginx拖入linux中
(将keepalived也拖进去)
二、安装gcc
yum install gcc
三、将nginx强制解压到当前目录
四、初始化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
递归创建)
六、返回nginx源码目录,使用make
命令编译七、使用make install命令进行安装,安装到了/usr/local
目录下
八、启动nginx
九、访问nginx,nginx默认端口为80,直接访问ip即可
十、停止nginx
方式1,快速停止:
./nginx -s stop
方式2,完整停止(建议使用):
./nginx -s quit
方式3,重新加载配置文件
:
./nginx -s reload
配置nginx
一、进入conf目录,使用vim编辑器编辑nginx.conf文件
配置两处
- 在server上,配置上tomcat服务器地址,有几个tomcat就配置几个
upstream tomcat_server{
server 192.168.200.128:8080;
server 192.168.200.129:8080;
}
- 在location中配置,注意和上面的名称一样
proxy_pass http://tomcat_server;
二、启动nginx,进行访问,发现访问nginx时,会访问tomcat服务器,且均匀分布在两台tomcat上三、停止nginx,进行权重配置
在tomcat地址后,配置上weight
此时,再访问nginx,会发现访问两次128,然后访问一次129四、在另一台nginx上,配置相同的配置
nginx配置完成!
nginx反向代理
nginx反向代理配置:一个nginx充当代理人的角色,而后面的tomcat不是集群,就是单台tomcat,部署一个项目,这种部署方案nginx就相当于项目的代理人,叫做反向代理配置。
nginx负载均衡配置:一个nginx,对应tomcat集群,多个tomcat中部署的是同一个项目,nginx就可以将请求均匀地分发给tomcat集群来处理请求,这种配置叫做负载均衡配置。