您的位置:首页 > 运维架构 > 反向代理

Nginx 详细之反向代理、负载均衡、页面缓存、URL重写及读写分离详解

2017-07-11 15:44 453 查看
大纲

一、环境准备

二、编译安装Nginx

三、Nginx反向代理

四、Nginx负载均衡

五、Nginx缓存功能

六、Nginx之URL重写

七、Nginx读写分离

一、环境准备

系统环境
CentOS5.8 x86_64
172.16.1.101        nginx

172.16.1.102        web1

172.16.1.103        web2

软件包

nginx-1.8.0.tar.gz

1、时间同步

2、关闭iptables和selinux

3、下载所需的软件包

二、[b][b]编译安装[/b]Nginx[/b]
1、解决依赖关系

2、创建nginx用户和组

3、编译安装

4、为nginx提供SysV init脚本

5、启动Nginx服务

6、测试访问





三、Nginx反向代理

1、首先准备一个web服务器,这里以web1演示

2、配置并启动httpd服务,测试能正常访问

3、配置Nginx作为反向代理

4、用浏览器测试访问





5、配置Nginx反向代理和web服务器,使web服务器能够记录真实客户端ip地址

四、Nginx负载均衡

1、准备两台web服务器,配置好页面并进行本地测试。

2、配置Nginx提供负载均衡功能

用浏览器访问一下





再刷新一下





可以看到,已经实现了简单的负载均衡效果

3、为Nginx增加上游服务器的健康状态监测功能

用浏览器访问一下



再刷新一下



此时停止web1上的httpd服务,一直刷新,显示的一直都是web2





再让web1上的httpd服务启动起来,可以看到,web1重新被加入进来了




再刷新一下



4、为Nginx增加sorry_server













可以看到,当所有的web服务器都宕机时,Nginx自身会加入sorry_server

五、Nginx缓存功能

1、缓存功能模块相关指令介绍

2、为Nginx增加缓存功能

3、测试Nginx的缓存功能









六、Nginx之URL重写

1、编辑配置文件,定义rewrite规则

2、在web服务器上配置好相应的目录及页面文件

3、浏览器访问测试

在浏览器地址栏中输入http://172.16.1.101/bbs,页面直接被重定向至172.16.1.102/forum





4、配置永久重定向

5、浏览器访问测试

在浏览器地址栏中输入http://172.16.1.101/bbs,可以看到Status code为200,这种也叫隐形重定向。一般跨服务器的是临时重定向,服务器内部的则是永久重定向。





七、Nginx读写分离

1、需求分析及拓扑图

需求分析

构建一个论坛,前端是个Nginx,实现读写分离,将用户的写请求(上传附件之类的操作)定向至web1,读请求定向至web2。web1和web2之间使用rsync+inotify或者sersync同步用户上传的文件,从而实现用户不管被定向至哪个web服务器,都能访问到自己之前上传的文件

拓扑图





2、WebDAV概念介绍

WebDAV
(Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

3、修改web1的配置文件,使其支持put方法

4、测试两个web是否支持读和写请求

5、修改前端Nginx配置,使其实现读写分离功能

6、测试Nginx的读写分离功能

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐