当前位置 主页 > 服务器问题 > nginx问题汇总 >

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

    栏目:nginx问题汇总 时间:2018-11-21 16:18

    本篇文章主要介绍了Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:

    CentOS 6.4下载地址://www.iis7.com/softs/78243.html

    Nginx下载地址://www.iis7.com/softs/35633.html

    一、前言

    在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解、nginx作为web服务器的操作讲解、nginx作为LNMP架构的讲解,不清楚的博友可以回头看看,在这一篇博客中我们主要讲解, nginx的反向代理、负载均衡、缓存、URL重写以及读写分离详解。好了,下面我们来具体说一说。

    二、环境准备

    1. 操作系统

    CentOS 6.4 x86_64

    2.软件版本

    Nginx 1.4.2

    3.实验拓扑

    注,实验拓扑见下文。

    4.安装yum源

    [root@nginx ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm[root@web1 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm[root@web2 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

    5.各节点时间同步

    [root@nginx ~]# ntpdate 202.120.2.101[root@web1 ~]# ntpdate 202.120.2.101[root@web2 ~]# ntpdate 202.120.2.101

    6.关闭防火墙与SELinux

    [root@nginx ~]# service iptables stop [root@nginx ~]# chkconfig iptables off [root@nginx ~]# getenforce Disabled[root@web1 ~]# service iptables stop [root@web1 ~]# chkconfig iptables off [root@web1 ~]# getenforce Disabled[root@web2 ~]# service iptables stop [root@web2 ~]# chkconfig iptables off [root@web2 ~]# getenforce Disabled

    三、安装Nginx

    1.解压

    [root@nginx src]# tar xf nginx-1.4.2.tar.gz

    2.新建nginx用户与组

    [root@nginx src]# groupadd -g 108 -r nginx [root@nginx src]# useradd -u 108 -r -g 108 nginx [root@nginx src]# id nginx uid=108(nginx) gid=108(nginx) 组=108(nginx)

    3.准备编译配置文件

    [root@nginx src]# yum install -y pcre-devel openssl-devel[root@nginx nginx-1.4.2]# ./configure  --prefix=/usr  --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_status_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-pcre