网站首页 > 技术教程 正文
本文大纲
前言
实验拓扑
实验环境
Nginx_Upstream模块介绍
Nginx_Cache介绍
总结
前言
本文接着上篇Nginx专题: 从编译安装到URL重写来介绍Nginx的负载均衡模块使用方法, 本文的实验没有考虑大多数情况, 例如两个web服务器之间的数据同步等, 主要写Nginx如何作为负载均衡器使用并且缓存
实验拓扑
实验环境
主机 IP地址 功用
lb.anyisalin.com 172.16.1.2 负载均衡并缓存静态资源
web1.anyisalin.com 172.16.1.3 提供web服务
web2.anyisalin.com 172.16.1.4 提供web服务
注意: 本文所有操作都在SELinux和iptables关闭的情况下进行
Nginx_Upstream模块介绍
The ngx_http_upstream_module module is used to define groups of servers that can be referenced by the proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, and memcached_pass directives. 摘自官方文档
简单来说就是通过upstream模块定义一个服务器组, 可以结合其他代理模块从而提供负载均衡的效果。
upstream使用方法
我们这里提供一个最简单的upstream定义方法:
以下两段简单的配置就能实现最简单的负载均衡效果
upstream servers {
server 172.16.1.2;
server 172.16.1.3;
}
location / {
proxy_pass http://servers;
}
upstream的常用参数介绍
upstream name {
[ip_hash]
server address [weight=number] [max_fails=number] [fail_timeout=number] [down|up|backup];
...
}
#ip_hash: 类似于lvs的sh算法,将同一IP的请求定向至同一主机
#weight: 权重设置
#max_fails:upstream能够自动对各群组中的服务器进行健康状态检查, 这里代表健康状态检查时最多几次连接失败就删除
#fail_timeout:多久超时算失败
#down:将某个主机下线
#backup:将某个主机设置为备份模式, 只要不是所有主机都宕机, 它就不会上线
upstream使用示例
安装nginx的过程这里就不演示了, 有兴趣的可以看我上篇博客
在nginx主配置文件中添加以下几列
http段添加
upstream servers {
server 172.16.1.3;
server 172.16.1.4;
}
server段添加
location / {
proxy_pass http://servers;
}
重载nginx
看图!我们实现了简单的负载均衡效果,为了演示出效果,所以使用了不同的页面
Nginx_Cache介绍
大家都知道在现今的网络世界中, Cache is King,缓存能够为我们减轻服务器的负担和加快响应速度, Nginx_proxy模块能够支持缓存功能, 我们这里使用我们这里缓存静态资源。
缓存静态资源
proxy_cache_path /cache levels=1:1 keys_zone=mycache:64m; #http段添加
location /index.html { #Location段配置
proxy_pass http://172.16.1.3;
proxy_cache mycache; #使用mycache进行缓存
proxy_cache_valid 200 1d; #响应码为200的缓存1天
proxy_cache_valid 500 501 502 503 1m; #响应码为500...的缓存1分钟
proxy_cache_use_stale error ; #如果请求源主机的时候出问题, 仍然使用缓存
}
保存重载
mkdir /cache #创建缓存存放文件夹
chown nginx:nginx /cache #修改属主和属组为nginx
从上面测试可以看出缓存对于静态资源响应的提升是非常明显的
总结
因为时间比较紧,所有本文简单的介绍了Nginx_upstream模块和缓存的使用方法,很多配置参数都没有明确的说明,以后应该还有机会和大家详细说明, Nginx专题还没有结束,敬请期待!
猜你喜欢
- 2024-09-25 高性能web服务器Nginx反向代理、动静分离和负载均衡
- 2024-09-25 Nginx学习之简单练习反向代理和负载均衡
- 2024-09-25 如何使用 Daphne + Nginx + supervisor部署 Django
- 2024-09-25 统信操作系统UOS上安装arm64版nginx
- 2024-09-25 Nginx 配置太复杂?这个开源项目让你在Web中就搞定
- 2024-09-25 解决nginx配置负载均衡时invalid host in upstream报错
- 2024-09-25 nginx+tomcat会话保持方案探讨(nginx保持会话的方式有哪些)
- 2024-09-25 Nginx方向代理示例:反向代理虚拟主机
- 2024-09-25 nginx的upstream目前支持5种方式的分配
- 2024-09-25 Nginx动态配置upstream(nginx动态配置修改)
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (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)
本文暂时没有评论,来添加一个吧(●'◡'●)