Nginx(三):Nginx整合Apache动静分离

概述:    

    在 Web 服务器中,动态请求是指该请求需要服务器端的程序处理。例如,当用户请求一个PHP脚本文件时,就会调用PHP 处理,并返回该脚本的处理结果。而静态请求不需要程序处理,直接读取文件并返回即可,如HTML、css 、JavaScript 、图片等文件。针对这两种请求各自的特点,可以由 Nginx 提供对外访问,静态请求直接由 Nginx 处理,动态请求转交给 Apache 处理,这样就实现了动静分离。(实质上整合PHP、Apache、Tomcat其实都是做反向代理。

     Nginx(三):Nginx整合Apache动静分离_第1张图片

配置:

    更改Apache的监听端口,一般80改81(Http),433改8433(Https)

    配置Nginx转发:        

        server {
            listen 80;
            server_name test.com www.test.com;
            root /var/www/www.test.com;
            index index.html index.htm index.php;  
    Location ~\.php?{      
proxy_pass   http://127.0.0.1:81;
proxy_redirect off;   
proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

        }

    传递客户端真实IP:

        Apache 的模块 mod_remoteip 用于检测 REMOTE_ADDR 是否为代理服务器的 IP 地址,如果是则从自定义的 HTTP 消息头中读取客户端 IP 在httpd. conf 中搜索 mod_remoteip ,将模块启用,并指定消息头的名称和代理服务器的 IP 地址

        LoadModule remoteip_module modules/mod_remoteip.so
        RemoteIPHeader X-Client- IP
        RemoteIPinternalProxy 127 .0. 0.1

         完成上述配置后,当Apac h e的mod_ r emo t e ip模块检测到REMOTE_ ADDR 为 127.0 . 0 . 1时,就会用 X - C li e n t - IP 的值 替换 REMOTE_ADDR 的值, 然后清除 X-C lie nt-IP消息头。
    

    


 
 

你可能感兴趣的:(CentOS,6.x_Nginx)