网站首页 > 技术教程 正文
一、 负载均衡的基本作用
1. 转发功能
根据自身一定的算法(权重、轮询),将客户端的请求转发到不同的应用服务器上面,减轻单个服务器的压力,提高系统的并发量
2. 容灾处理
通过心跳检测的方式,判断应用服务器是否正常工作,如果服务器宕机,则请求自动忽略该服务器,发送到正在正常工作的服务器上面。
3. 恢复添加
如检测到宕机的服务器恢复正常工作,自动将该服务器添加回处理用户请求的列表中。
二、 CentOS 上面安装Nginx
(Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。建议使用管理员安装,因为80端口需要管理员启动。)
1. 安装Nginx的前置相关软件 (加上-y默认安装过程)
yum install –y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2. 直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html
3. 解压文件之后使用默认配置目录,只是安装目录,非业务相关的配置
(将文件放到你想要反之的目录之后进行解压)
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure
4. 编译安装
make
make install
查找安装路径:
whereis nginx
5. 启动、停止
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
查询nginx进程:
ps aux|grep nginx
6. 重启
1.先停止再启动:
对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit
./nginx
2.重新加载配置文件(推荐):
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload
7. 开机自启动
即在rc.local增加启动代码就可以了。
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
(如果访问不了的话看看是不是防火墙问题)
三、 Nginx实现负载均衡
(这里简单的使用两个tomcat模拟两台服务器,具体情况自行调整)
1. Nginx的负载分发
Nginx 的 upstream目前支持的分配算法:
1)、轮询 ——1:1 轮流处理请求(默认)
每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。
2)、权重 ——you can you up
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
3)、ip_哈希算法
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。
2. 配置Nginx的负载均衡与分发
通过在upstream参数中添加的应用服务器IP后添加指定参数实现,由于配置了proxy_pass地址,所有请求都会先通过nginx反向代理服务器,在服务器将请求转发给目的主机时,读取upstream为 tomcats的地址,读取分发策略,配置tomcat1权重为3,所以nginx会将大部分请求发送给8080端口;较少部分给tomcat2来实现有条件的负载均衡,当然这个可以根据服务器1、2的硬件指数处理请求能力。
四、总结
总结一下,负载均衡不论是各种软件或硬件上的解决方案,主要还是将大量的并发请求按照一定的规律分发给不同的服务器处理,从而减少某台服务器的瞬时压力,提高网站的抗并发能力。nginx在负载均衡的应用之所以广泛,这归功于它的灵活配置,一个nginx.conf文件解决大部分问题,另外它本身轻量级,不需要占用服务器太多资源就可以达到较好的效果。
猜你喜欢
- 2024-09-21 CentOS中Nginx编译安装与开机自启动配置
- 2024-09-21 13《Nginx 入门教程》Nginx负载均衡(下)
- 2024-09-21 Linux下玩转nginx系列(八)如何使用upsync模块实现动态负载均衡
- 2024-09-21 还在撸猫么?来试试Nginx吧(在线撸猫)
- 2024-09-21 「译」Nginx入门引导教程(nginx1)
- 2024-09-21 nginx动静分离实战(nginx动静分离的作用)
- 2024-09-21 Vue 项目如何部署在Nginx服务器上,简单而且保你一看就会
- 2024-09-21 如何将Centos7 中的Nginx升级到最新版本
- 2024-09-21 systemd - nginx服务管理(nginx服务状态)
- 2024-09-21 mac下操作 nginx 安装、重启、卸载、查看路径
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)