1、Nginx 反向代理、负载均衡、页面缓存、URL 重写及读写分离详解大纲一、前言二、环境准备三、安装与配置 Nginx四、Nginx 之反向代理五、Nginx 之负载均衡六、Nginx 之页面缓存七、Nginx 之 URL 重写八、Nginx 之读写分离注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的 1.4.2,所以实验用到的软件请点击这里下载:http:/ Nginx 作为 Web 服务器知识点,主要的知识点有 nginx 的理论详解、 nginx 作为 web 服务器的操作讲解、nginx 作为 LNMP 架构的讲解,不清楚的博友可以回头看看,在这一篇
2、博客中我们主要讲解, nginx 的反向代理、负载均衡、缓存、URL 重写以及读写分离详解。好了,下面我们来具体说一说。二、环境准备1. 操作系统 CentOS 6.4 x86_642.软件版本 Nginx 1.4.23.实验拓扑注,实验拓扑见下文。4.安装 yum 源123rootnginx # rpm -ivh http:/download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmrootweb1 # rpm -ivh http:/download.fedoraproject.org/pub/epel/6
3、/x86_64/epel-release-6-8.noarch.rpmrootweb2 # rpm -ivh http:/download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm5.各节点时间同步123rootnginx # ntpdate 202.120.2.101rootweb1 # ntpdate 202.120.2.101rootweb2 # ntpdate 202.120.2.1016.关闭防火墙与 SELinux12345678910rootnginx # service iptables st
4、oprootnginx # chkconfig iptables off rootnginx # getenforce Disabledrootweb1 # service iptables stoprootweb1 # chkconfig iptables off rootweb1 # getenforce Disabledrootweb2 # service iptables stoprootweb2 # chkconfig iptables off 1112rootweb2 # getenforce Disabled三、安装 Nginx1.解压1rootnginx src# tar xf
5、 nginx-1.4.2.tar.gz2.新建 nginx 用户与组1234rootnginx src# groupadd -g 108 -r nginxrootnginx src# useradd -u 108 -r -g 108 nginx rootnginx src# id nginx uid=108(nginx) gid=108(nginx) 组=108(nginx)3.准备编译配置文件12rootnginx src# yum install -y pcre-devel openssl-develrootnginx nginx-1.4.2# ./configure -prefix=/u
6、sr -sbin-path=/usr/sbin/nginx -conf-path=/etc/nginx/nginx.conf -error-log-path=/var/log/nginx/error.log -http-log-path=/var/log/nginx/access.log -pid-path=/var/run/nginx/nginx.pid -lock-path=/var/lock/nginx.lock -user=nginx -group=nginx -with-http_ssl_module -with-http_flv_module -with-http_stub_sta
7、tus_module -with-http_gzip_static_module -http-client-body-temp-path=/var/tmp/nginx/client/ -http-proxy-temp-path=/var/tmp/nginx/proxy/ -http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ -http-uwsgi-temp-path=/var/tmp/nginx/uwsgi -http-scgi-temp-path=/var/tmp/nginx/scgi -with-pcre4.编译并安装1rootnginx nginx-1
8、.4.2# make do if echo $opt | grep .*-temp-path ; then value=echo $opt | cut -d “=“ -f 2 if ! -d “$value“ ; then # echo “creating“ $value mkdir -p $value ; stop) rh_status_q | exit 0 $1 ; restart|configtest) $1 ; 9596979899100101102103104105106107108109110reload) rh_status_q | exit 7 $1 ; force-reloa
9、d) force_reload ; status) rh_status ; condrestart|try-restart) rh_status_q | exit 0 ; *) echo $“Usage: $0 start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest“ exit 2 esac6.为此脚本赋予执行权限1rootnginx # chmod +x /etc/init.d/nginx7.添加至服务管理列表,并让其开机自动启动1234rootnginx # chkconfig -ad
10、d nginxrootnginx # chkconfig nginx on rootnginx # chkconfig nginx -list nginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭8.启动 nginx12rootnginx # service nginx start正在启动 nginx: 确定9.查看一下端口12rootnginx # netstat -ntlp | grep :80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3889/nginx10.测试一下好了,Nginx 安装与配置就到这里,下面我们来说一说 Ngin
11、x 的反向代理。四、Nginx 之反向代理在配置 nginx 反向代理之间我们得先准备两台测试服务器,Web1 与 Web2。1.安装 httpd12rootweb1 # yum install -y httpdrootweb2 # yum install -y httpd2.提供测试页面12rootweb1 # echo ““ /var/www/html/index.htmlrootweb2 # echo ““ /var/www/html/index.html3.启动 httpd 服务1234rootweb1 # service httpd start正在启动 httpd: 确定rootwe
12、b2 # service httpd start正在启动 httpd: 确定4.测试一下5.简单说一下,正向代理与反向代理(1).正向代理的概念正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。结论就是,正向代理 是一个位于客户端和原始服务器(origi
13、n server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器) ,然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。(2).反向代理的概念继续举例: 例用户访问 http:/ 上并不存在 readme页面,他是偷偷从另外一台服务器上取回来,然后作为自己的内容返回用户,但用户并不知情。这里所提到的 这个域名对应的服务器就设置了反向代理功能。结论就是,反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。(3).两者区别从用途上来讲:正向代理的典型用途是为在防火墙内的局域网客户端提供访问 Internet 的途径。正向代理还可以使用缓冲特性减少网络使用率。反向代理的典型用途是将防火墙后面的服务器提供给 Internet 用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级 URL 策略和管理技术,从而使处于不同 web 服务器系统的 web 页面同时存在于同一个 URL 空间下。从安全性来讲:
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。