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

大纲 一、前言 二、环境准备 三、安装与配置Nginx 四、Nginx之反向代理 五、Nginx之负载均衡 六、Nginx之页面缓存 七、Nginx之URL重写 八、Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一、前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解、nginx作为web服务器的操作讲解、nginx作为LNMP架构的讲解,不清楚的博友可以回头看看,在这一篇博客中我们主要讲解, nginx的反向代理、负载均衡、缓存、URL重写以及读写分离详解。好了,下面我们来具体说一说。 二、环境准备 1. 操作系统 CentOS 6.4 x86_64 2.软件版本 Nginx 1.4.2 3.实验拓扑 注,实验拓扑见下文。 4.安装yum源 1 2 3 [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.各节点时间同步 1 2 3 [root@nginx ~]# […]

隐藏Apache Nginx PHP版本号

############################################################################### 隐藏Apache版本号 ############################################################################### [root@localhost tmp]# curl -I 192.168.93.143 HTTP/1.1 403 Forbidden Date: Wed, 21 Jul 2010 13:09:33 GMT Server: Apache/2.2.15 (CentOS) Accept-Ranges: bytes Content-Length: 5043 Connection: close Content-Type: text/html; charset=UTF-8 隐藏方法: 1、隐藏Apache版本号的方法是修改Apache的配置文件,如RedHat系的Linux默认是: vim /etc/httpd/conf/httpd.conf 分别搜索关键字ServerTokens和ServerSignature,修改: ServerTokens OS 修改为 ServerTokens ProductOnly ServerSignature On 修改为 ServerSignature Off 2、重启或重新加载Apache就可以了。 apachectl restart 测试一下,如下: [root@localhost tmp]# curl -I 192.168.93.143 HTTP/1.1 […]

为nginx增加nginx_http_concat模块

非覆盖安装 因为需要加入这个新的nginx模块,所以需要重新编译nginx。为了不影响之前的ngxin,所以我们打算采用[nginx添加模块(非覆盖安装][]中的方法来实现飞覆盖安装。主要步骤如下 试用nginx -V来查看nginx的版本以及nginx带上的参数,返回如下结果,configure arguments后面是我省略了,你可以自己记住那个编译的版本试用了什么configure,然后下面会用到 nginx version: nginx/1.2.8 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) TLS SNI support enabled configure arguments: … 然后去nginx上面下载对应版本的的nginx的源代码,并解压缩 wget http://nginx.org/download/nginx-1.2.8.tar.gz tar xzvf nginx-1.2.8.tar.gz 按照nginx-http-concat上面说的,git clone一下它的源码 git clone git://github.com/alibaba/nginx-http-concat.git 用第一步获得的configure aguments,然后在最后没加上如下配置,调用./configure来配置 –add-module=/home/user/install/nginx-http-concat 配置OK之后就调用make make make完之后在objs目录下面找到nginx文件,然后覆盖掉当前的nginx文件即可 配置静态目录启用nginx-http-concat 可以参考 nginx-http-concat上面的来配置,我这边是在location下面增加了两行 concat on; concat_max_files 20; location /js/ {     # 打开concat 功能     # 默认关闭     concat on;     # 允许concat最大的文件数(http://m114.org/test/??1.css,2.css,3.css…10.css) 默认最大设置十个文件。     # (默认: 10)     # concat_max_files 10; […]