Apache 正向代理与反向代理配置

Apache提供了 mod_proxy 模块用于提供代理服务,能够支持的包括正向代理、反向代理、透明代理、缓存、负载均衡,HTTP代理、FTP代理、SSL代理等若干强大的功能。

Apache.png

配置代理方法很简单那,首先在 Apache 上启用 mod_proxy 模块,需要注意的是,如果在 Apache-2.2 上,则还需要加载名为 mod_proxy_http 的模块。因为 2.2 系列把代理功能都拆分成N个小模块了。

一般 Apache 的这些功能我们在编译的时候都是以模块的形式加入的,编译时加上相关参数,然后编译安装就可以了。

1
2
. /configure  --prefix= /usr/local/apache2  -- enable -so -- enable -rewrite=shared -- enable -proxy=shared
make  &&  make  install

我这里先是看了我的 Apache 中 有没有这个模块,如果没有 Apache 没有安装 proxy 模块,可以不用重新编译添加模块。

1
2
/usr/local/apache2/bin/apxs  -c -i mod_proxy.c proxy_util.c ( ps  必须2个c一起编译,不然会报错)
/usr/local/apache2/bin/apxs  -c -i mod_proxy_http.c proxy_util.c

把 proxy 编译成模块,然后再把 proxy 的配置加入配置文件,去掉下面三行记录的#号,如果不存在,添加以下下内容。

1
2
3
LoadModule proxy_module modules/mod_proxy.so              #必须的模块
LoadModule proxy_connect_module modules/mod_proxy_connect.so   #应用软件代理 例如 QQ,MSN
LoadModule proxy_http_module modules/mod_proxy_http.so               #http请求代理 访问网页

一、正向代理

先说一正向代理(Forward Proxy),通常普通用户使用的比较多的,是正向代理。也就是在浏览器的网络连接属性框中,填写上一个代理服务器的ip和端口,即可通过代理服务器中转,去浏览网页。有时候网站对单个 IP 某些操作进行了次数限制,设置代理 IP 访问,不断的更改代理 IP 来突破网站限制,也是正向代理。

配置这种代理非常简单:

1、打开apache的conf,启用好 proxy 模块后,加入如下几行:(全局配置)

1
2
3
4
5
6
7
8
ProxyRequests On
ProxyVia On
 
<Proxy *>
     Order deny,allow
     Deny from all
     Allow from 192.16.10.0/24
</Proxy>

2、当然也可以把在虚拟主机中进行设置,如下:

启用虚拟主机

1
NameVirtualHost *:80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<VirtualHost *:80>
     ServerAdmin test@test.com
     DocumentRoot /var/www/test
     ServerName www.test.com
     ErrorLog logs/dummy-host.example.com-error_log
     CustomLog logs/dummy-host.example.com-access_log common
     <Directory "/var/www/test">
         Options FollowSymLinks
         AllowOverride None
         Order allow,deny
         Allow from all
     </Directory>
 
     ProxyRequests On
     ProxyVia On
 
     <Proxy *>
         Order deny,allow
         Deny from all
         Allow from 192.168.10.0/24
     </Proxy>
</VirtualHost>

然后保存退出,重启加载 Apache 服务,现在即可在浏览器的网络连接属性框中或 QQ 登录配置中,填写上 your_apache_server_ip 的 ip 地址,端口是 80,开始用代理了。
使用 Apache 提供的代理,也可以加身份验证,或者设置 ACL 来限制客户端来源等。这些配置就和普通的 Apache 站点配置一样。

其实关键就是要有 ProxyRequests 开启,功能就已经可以使用了。

二、反向代理

反向代理也是个非常有用的功能。反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。常用做网站服务器配置,可以提供从防火墙外部代理服务器到防火墙内部安全内容服务器的加密连接,隐藏后端真实服务器,更加安全。如 负载均衡 ,CDN 缓存都是反向代理。配置方法如下:

1、启用好 proxy 模块后,加入下边一内容:(全局配置)

1
2
3
4
5
6
7
8
ProxyRequests off
 
<Proxy /test>
     Order deny,allow
     Allow from all
</Proxy>
ProxyPass /test http://www.reverse.com/proxy
ProxyPassReverse /test http://www.reverse.com/proxy

2、在虚拟主机中进行设置,如下:

启用虚拟主机

1
NameVirtualHost *:80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<VirtualHost *:80>
     ServerAdmin test@test.com
     ServerName www.test.com
     ErrorLog logs/dummy-host.example.com-error_log
     CustomLog logs/dummy-host.example.com-access_log common
 
     ProxyRequests Off
 
     <Proxy /test>  
         Order deny,allow  
         Allow from all  
     </Proxy>  
     ProxyPass /test http://www.reverse.com/proxy
     ProxyPassReverse /test http://www.reverse.com/proxy
</VirtualHost>

ProxyPass /test http://www.reverse.com/proxy : 将 www.test.com/test 域下的所有请求转发给 www.reverse.com/proxy代理,例如www.test.com/test/login.php 会交给 www.reverse.com/proxy/login.php 代理。

ProxyPassReverse /test http://www.reverse.com/proxy :

www.reverse.com/proxy/login.php 中有如下代码:

1
2
3
<?php
     header( 'Location: http://www.reverse.com/proxy/result.php' );
?>

那么在重定向的时候,Apache 会将 HTTP 请求重新设为 http://www.reverse.com/proxy/result.php ,这样的作用稍后讲解
www.reverse.com/proxy/result.php 中有如下代码:

1
2
3
<?php
     echo  'Hello' ;
?>

浏览器访问效果,访问:www.test.com/proxy/login.php

HTTP 请求如图:

proxy1.png

可以发现其实 Request 中的请求还是 www.test.com 的,但是它确实是由 www.reverse.com 来处理的

reverse.com/proxy/login.php 重定向到 www.reverse.com/proxy/proxy/result.php

HTTP 请求如图:

proxy2.png

也可以看到请求依然是 www.test.com/proxy/result.php

这里就是 ProxyPassReverse 发挥作用的地方,如果不加这个项,重定向后 HTTP 请求会如下图:

proxy3.png

可以发现请求中的GET是 www.reverse.com 而不是 www.test.com ,这是因为配置了 ProxyPassReverse 后,www.reverse.com/proxy/login.php 在重定向到 www.reverse.com/proxy/result.php 时,Apache会将它调整回 www.test.com/proxy/result.php , 然后Apache再将 www.test.com/proxy/result.php 代理给 www.reverse.com/proxy/result.php,所以说配置了 ProxyPassReverse 后,即使 www.reverse.com/proxy 下的程序有重定向到其他 www.proxypss.com/proxy 的文件的(如 login.php 重定向到 result.php),你也不会在请求中发现 www.reverse.com 的影子。

三、ProxyPass 与 ProxyVia 、ProxyPassReverse 及 ProxyPassMatch 的概述

1、ProxyPass:  

语法:ProxyPass [path] !|url

它主要是用作URL前缀匹配,不能有正则表达式,它里面配置的Path实际上是一个虚拟的路径,在反向代理到后端的url后,path是不会带过去的,使用示例:

(1)、ProxyPass /images/ !

这个示例表示,/images/的请求不被转发。

(2)、ProxyPass /site/foo/ http://back.reverse.com/

我们假设当前的服务地址是http://test.com/,如果我们做下面这样的请求:

http://test.com/siter/foo/bar

那将被转成内部请求:

http://back.reverse.com/bar

注:配置的时候,不需要被转发的请求,要配置在需要被转发的请求前面。

2、ProxyVia

语法:ProxyVia [OPTION]

ProxyVia On:控制位于代理服务器链中的代理请求的流向

引用 Apache2.2 官方文档中对 ProxyVia 的解释如下:

如果设置为默认值 Off ,将不会采取特殊的处理。如果一个请求或应答包含 "Via:" 头,将不进行任何修改而直接通过。

如果设置为 O n每个请求和应答都会对应当前主机得到一个 "Via:" 头。

如果设置为 Full ,每个产生的 "Via:" 头中都会额外加入 Apache 服务器的版本,以 "Via:" 注释域出现。

如果设置为 Block ,每个代理请求中的所有 "Via:" 头行都将被删除。且不会产生新的 "Via:" 头。

3、ProxyPassMatch:

语法:ProxyPassMatch [regex] !|url

这个实际上是 url 正则匹配,而不是简单的前缀匹配,匹配上的 regex 部分是会带到后端的 url 的,这个是与 ProxyPass 不同的。使用示例:

(1)ProxyPassMatch ^/images !

这个示例表示对 /images 的请求,都不会被转发。

(2) ProxyPassMatch ^(/.*\.gif)$ http://img.reverse.com$1

这个示例表示对所有 gif 图片的请求,都被会转到后端,如此时请求 http://test.com/foo/bar.gif,那内部将会转换为这样的请求  http://img.reverse.com/foo/bar.gif。

4、ProxyPassReverse

语法:ProxyPassReverse [路径] url 

它一般和 ProxyPass 指令配合使用,此指令使 Apache 调整 HTT P重定向应答中 Location, Content-Location, URI 头里的 URL,这样可以避免在 Apache 作为反向代理使用时,后端服务器的 HTTP 重定向造成的绕过反向代理的问题。参看下面的示例:

ProxyPass /example http://www.reverse.com/

ProxyPassReverse /example http://www.reverse.com/

ProxyPassReverse 的作用就是反向代理,如果没有加这样的反向代理设置的情况下,访问 http://www.test.com/example/a,如果 www.reverse.com 对请求进行了 redirect 至 http://www.reverse.com/b,那么,客户端就会绕过反向代理,进而访问 http://www.reverse.com/example/b 。如果设置了反向代理,则会在转交 HTTP 重定向应答到客户端之前调整它为 http://www.test.com/example/a/b,即是在原请求之后追加上了 redirect  的路径。

四、Apache 负载均衡配置

我们同样可以利用 mod_proxy 来做负载均衡,mod_proxy_balancer 是 Apache httpd 自带的负载平衡支持。其优点可以根据实际的运行时机器的环境来决定负载均衡的策略,实现 Session 在 node 上进行共享传递。

1、轮询均衡策略的配置

配置负载均衡时,还要在加上一个模块:

1
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<VirtualHost *:80>
     ServerAdmin test@test.com
     ServerName www.test.com
     ErrorLog logs/dummy-host.example.com-error_log
     CustomLog logs/dummy-host.example.com-access_log common
 
     <Proxy balancer://mycluster>
         BalancerMember http://192.168.10.121:80/
         BalancerMember http://192.168.10.122:80/
         BalancerMember http://192.168.10.123:80/
     </Proxy>
     
     ProxyRequests Off
     ProxyPass / balancer://mycluster/
     ProxyPassReverse / balancer://mycluster/
</VirtualHost>

 我们来观察上述的参数“ProxyPass / balancer ://www.test.com/”,其中,“ProxyPass ”是配置虚拟服务器的命令,“/”代表发送 Web 请求的 URL 前缀,如:http://www.test.com/  或者 http://www.test.com/test,这些URL都将符合上述过滤条件;“balancer ://www.test.com/”表示要配置负载均衡,proxy 代表负载均衡名;Balancer Member 及其后面的 URL 表示要配置的后台服务器,其中 URL 为后台服务器请求时的 URL。以上面的配置为例,实现负载均衡的原理如下:  
假设 Apache 接收到 http://localhost/test  请求,由于该请求满足 ProxyPass 条件(其URL前缀为“/”),该请求会被分发到后台某一个 Balancer Member,比如,该请求可能会转发到 http://192.168.10.121:80/test  进行处理。当第二个满足条件的 URL 请求过来时,该请求可能会被分发到另外一台 Balancer Member,转发到 http://192.168.10.122:80/  或 http://192.168.10.123:80/ 上 。如此循环反复,便实现了负载均衡的机制。

2、按权重分配均衡策略的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
<VirtualHost *:80>
    
     <Proxy balancer://mycluster>
         BalancerMember http://192.168.10.121:80/ loadfactor=3 
         BalancerMember http://192.168.10.122:80/ loadfactor=1 
         BalancerMember http://192.168.10.123:80/ loadfactor=2 
     </Proxy>
     
     ProxyRequests Off
     ProxyPass / balancer://mycluster/
     ProxyPassReverse / balancer://mycluster/
     
</VirtualHost>

参数”loadfactor”表示后台服务器负载到由 Apache 发送请求的权值,该值默认为 1,可以将该值设置为 1 到 100 之间的任何值。以上面的配置为例,介绍如何实现按权重分配的负载均衡,现假设 Apache 收到 http://www.test.com/test 6 次这样的请求,该请求分别被负载到后台服务器,则有 3 次连续的这样请求被负载到 Balancer Member 为 http://192.168.10.121:80 的服务器,有 1 次这样的请求被负载 Balancer Member 为 http://192.168.10.122:80 后台服务器 。有 2 次这样的请求被负载 Balancer Member 为 http://192.168.10.123:80 后台服务器实现了按照权重连续分配的均衡策略。

3、权重请求响应负载均衡策略的配置

1
ProxyPass / balancer://mycluster/ lbmethod=bytraffic

1
     <Proxy balancer://mycluster lbmethod=bytraffic>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
<VirtualHost *:80>
    
     <Proxy balancer://mycluster>
         BalancerMember http://192.168.10.121:80/ loadfactor=3 
         BalancerMember http://192.168.10.122:80/ loadfactor=1 
         BalancerMember http://192.168.10.123:80/ loadfactor=2 
     </Proxy>
     
     ProxyRequests Off
     ProxyPass / balancer://mycluster/ 
     ProxyPassReverse / balancer://mycluster/
     ProxySet lbmethod=bytraffic
     
</VirtualHost>

在这三的地方配置都可以,Apache 可以识别这三种配置方法。

参数“lbmethod=bytraffic”表示后台服务器负载请求和响应的字节数,处理字节数的多少是以权值的方式来表示的。“loadfactor”表示后台服务器处理负载请求和响应字节数的权值,该值默认为 1,可以将该值设置在 1 到 100 的任何值。根据以上配置是这么进行均衡负载的,假设 Apache 接收到 http://www.test.com/test 请求,将请求转发给后台服务器,如果Balancer Member为 http://192.168.10.121:80 后台服务器负载到这个请求,那么它处理请求和响应的字节数是 Balancer Member 为 http://192.168.10.122:80 服务器的3倍(回想(2)均衡配置,(2)是以请求数作为权重负载均衡的,(3)是以流量为权重负载均衡的,这是最大的区别)。

lbmethod可能的取值有:

lbmethod=byrequests 按照请求次数均衡(默认)

lbmethod=bytraffic 按照流量均衡

lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器) 

4、管理界面配置

<Location /balancer-manager>
    SetHandler balancer-manager 
    Order Allow,Deny
    Allow from all 
</Location>

负载管理模块,一般用来管理集群节点,可以动态设置“权重”,“主机状态”等信息。

5、热备份(Hot Standby)

热备份的实现很简单,只需添加 status=+H 属性,就可以把某台服务器指定为备份服务器:

1
2
3
4
5
6
7
8
9
10
11
12
<VirtualHost *:80>
    
     <Proxy balancer://mycluster>
         BalancerMember http://192.168.10.121:80/ 
         BalancerMember http://192.168.10.122:80/ status=+H 
     </Proxy>
     
     ProxyRequests Off
     ProxyPass / balancer://mycluster/
     ProxyPassReverse / balancer://mycluster/
     
</VirtualHost>

从 balancer-manager 界面中可以看到,请求总是流向 192.168.10.121 ,一旦 192.168.10.121 挂掉,Apache 会检测到错误并把请求分流给 192.168.10.122。Apache 会每隔几分钟检测一下 192.168.10.121 的状况,如果 192.168.10.121 恢复,就继续使用 121。 

6、http-header 配置


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<VirtualHost *:80>
 
     Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED  
     <Proxy balancer://mycluster>
         BalancerMember http://192.168.10.121:80/ loadfactor=3 route=1 nofailover=Off
         BalancerMember http://192.168.10.122:80/ loadfactor=1 route=2 nofailover=Off
         BalancerMember http://192.168.10.123:80/ loadfactor=2 route=3 nofailover=Off
         ProxySet stickysession=ROUTEID nofailover=Off
     </Proxy>
     
     ProxyRequests Off
     ProxyPass / balancer://mycluster/
     ProxyPassReverse / balancer://mycluster/
     
</VirtualHost>

或加在

1
ProxyPass / balancer://mycluster/ nofailover=Off

使用 Apache 的 http-header 这个模块,由 Apache来自动生成 cookie。

stickysession session粘连,就是说用户一旦访问了某个 Balancer Member,就给他个 cookie,让他在后面的请求都访问那个 Balancer Member 。

ProxyPass 那行 最后的 stickysession=ROUTEID,表示从 cookie 中读取 ROUTEID,并自动分配到相应的服务上去。如果后端服务器使用不同的cookie名称或者URL编码的ID(像servlet容器),使用|来分开他们。第一个部分针对cookie,第二个针对路径。如:

ProxyPass / balancer://mycluster
stickysession=JSESSIONID|jsessionid

nofailover 是否打开失败转移,默认为‘Off’,如果设为‘On’,当工作单元被禁用或者出错时,如果这样配置,当提供给你服务的服务器发生异常,那么你将一直看着它返回给你503,直到系统恢复正常!  

还有其它参数可以添加:

maxattempts    默认值是 1,在放弃之前的故障转移的最大尝试次数。    

timeout    默认值是 0,均衡器超时时间,单位为秒。如果设置了,那么就是等待空闲工作单元的最大时间,默认是不等。    

转载:http://blog.chopmoon.com/favorites/223.html
  • 10
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 完整诠释Nginx 分享Nginx的实战经验 不可多得的Nginx一手资料 联系博文视点 序言 第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx的发展 1.3 选择Nginx的理由 1.4 Nginx与Apache、 Lighttpd的综合对比 第2章 Nginx服务器的安装与配置 2.1 安装Nginx服务器所需要的系统资源 2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、 停止、 平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进阶篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例 3.2 Nginx的虚拟主机配置 3.3 Nginx的日志文件配置与切割 3.4 Nginx的压缩输出配置 3.5 Nginx的自动列目录配置 3.6 Nginx的浏览器本地缓存设置 第4章 Nginx与PHP( FastCGI) 的安装、 配置与优化 4.1 获取相关开源程序 4.2 安装PHP 5.2.10( FastCGI模式) 4.3 安装Nginx 0.8.15 4.4 配置开机自动启动Nginx+PHP 4.5 优化Linux内核参数 4.6 在不停止Nginx服务的情况下平滑变更Nginx配置 4.7 编写每天定时切割Nginx日志的脚本 第5章 Nginx与JSP、 ASP.NET、 Perl的安装与配置 5.1 Nginx与JSP( Tomcat) 在Linux上的安装、 配置 5.2 Nginx与ASP.NET( Mono+FastCGI) 在Linux上的安装、 配置 5.3 Nginx与Perl( FastCGI) 在Linux上的安装、 配置 第6章 Nginx HTTP负载均衡和反向代理配置与优化 6.1 什么是负载均衡和反向代理 6.2 常见的Web负载均衡方法 6.3 Nginx负载均衡与反向代理配置实例 6.4 Nginx负载均衡的HTTP Upstream模块 6.5 Nginx负载均衡服务器的双机高可用 第7章 Nginx的Rewrite规则与实例 7.1 什么是Nginx的Rewrite规则 7.2 Nginx Rewrite规则相关指令 7.3 PCRE正则表达式语法 7.4 Nginx的Rewrite规则编写实例 7.5 Nginx与Apache的Rewrite规则实例对比 第8章 Nginx模块开发 8.1 Nginx模块概述 8.2 Nginx模块编写实践 第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 9.1 什么是Web缓存 9.2 Nginx的Web缓存服务 9.3 新浪网开源软件项目——基于Nginx的NCACHE网页缓存系统 第3部分 实战篇 第10章 Nginx在国内知名网站的应用案例 10.1 Nginx反向代理与负载均衡类网站应用案例 10.2 Nginx+PHP类网站应用案例 10.3 Nginx视频点播类网站应用案例 第11章 Nginx的非典型应用实例 11.1 用HTTPS( SSL) 构建一个安全的Nginx Web服务器 11.2 采用Nginx搭建FLV视频服务器 11.3 Nginx+PHP+MySQL在小内存VPS服务器上的优化 11.4 采用Nginx搭建正向代理服务器 第4部分 模块篇 第12章 Nginx的核心模块 12.1 主模块指令 12.2 主模块变量 12.3 事件模块指令 第13章 Nginx的标准HTTP模块 13.1 HTTP的核心模块 13.2 HTTP Upstream模块 13.3 HTTP Access模块 13.4 HTTP Auth Basic模块 13.5 HTTP Autoindex模块 13.6 HTTP Browser模块 13.7 HTTP Charset模块 13.8 HTTP Empty Gif模块 13.9 HTTP Fcgi模块 13.10 geo模块 13.11 Gzip模块 13.12 HTTP Headers模块 13.13 HTTP Index模块 13.14 HTTP Referer模块 13.15 HTTP Limit Zone模块 13.16 HTTP Limit Req模块 13.17 HTTP Log模块 13.18 HTTP Map模块 13.19 HTTP Memcached模块 13.20 HTTP Proxy模块 13.21 HTTP Rewrite模块 13.22 HTTP SSI模块 13.23 HTTP Userid模块 第14章 Nginx的其他HTTP模块 14.1 HTTP Addition模块 14.2 Embedded Perl模块 14.3 Flv Stream模块 14.4 HTTP Gzip Static模块 14.5 HTTP Random Index模块 14.6 HTTP Geo IP模块 14.7 HTTP RealIp模块 14.8 HTTP SSL模块 14.9 HTTP Stub Status模块 14.9.1 stub_status指令 14.10 HTTP Sub模块 14.11 HTTP Dav模块 14.12 Google Perftools模块 14.13 HTTP XSLT模块 14.14 HTTP Secure Link模块 14.15 HTTP Image Filter模块 第15章 Nginx的邮件模块 15.1 Nginx邮件核心模块 15.2 Nginx邮件认证模块 15.3 Nginx邮件代理模块 15.4 Nginx邮件SSL模块 15.5 Nginx邮件模块配置实例 索引 参考资料 编辑手记 《 实战Nginx: 取代Apache的高性能Web服务器》 读者交流区 勃勃生机, 潇洒开源 反侵权盗版声明 实战Nginx: 取代Apache的高性能Web服务器
张宴《实战Nginx:取代Apache的高性能Web服务器》pdf电子版下载,此资料网友共享,请购买作者正版书籍. 目录介绍: 第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx简介 1.3 选择Nginx的理由 1.4 Nginx与Apache、Lighttpd的综合对比 第2章 Nginx服务器的安装与配置 2.1 安装Nginx服务器所需要的系统资源 2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、停止、平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进 阶 篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例 3.2 Nginx的虚拟主机配置 3.3 Nginx的日志文件配置与切割 3.4 Nginx的压缩输出配置 .3.5 Nginx的自动列目录配置 3.6 Nginx的浏览器本地缓存设置 第4章 Nginx与PHP(FastCGI)的安装、配置与优化 4.1 获取相关开源程序 4.2 安装PHP 5.2.10(FastCGI模式) 4.3 安装Nginx 0.8.15 4.4 配置开机自动启动Nginx + PHP 4.5 优化Linux内核参数 4.6 在不停止Nginx服务的情况下平滑变更Nginx配置 4.7 编写每天定时切割Nginx日志的脚本 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置 5.1 Nginx与JSP(Tomcat)在Linux上的安装、配置 5.2 Nginx与ASP.NET(Mono+FastCGI)在Linux上的安装、配置 5.3 Nginx与Perl(FastCGI)在Linux上的安装、配置 第6章 Nginx HTTP负载均衡和反向代理配置与优化 6.1 什么是负载均衡和反向代理 6.2 常见的Web负载均衡方法 6.3 Nginx负载均衡与反向代理配置实例 6.4 Nginx负载均衡的HTTP Upstream 模块 6.5 Nginx负载均衡服务器的双机高可用 第7章 Nginx的Rewrite规则编写实例 7.1 什么是Nginx的Rewrite规则 7.2 Nginx Rewrite规则相关指令 7.3 PCRE正则表达式语法 7.4 Nginx的Rewrite规则编写实例 7.5 Nginx与Apache的Rewrite规则实例对比 第8章 Nginx模块开发 8.1 Nginx模块概述 8.2 Nginx模块编写实践 第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 9.1 什么是Web缓存? 9.2 Nginx的Web缓存服务 9.3 新浪网开源软件项目——基于Nginx的NCache网页缓存系统 第3部分 实战篇 第10章 Nginx在国内知名网站的应用案例 10.1 Nginx反向代理与负载均衡类网站应用案例 10.2 Nginx+PHP类网站应用案例 第11章 Nginx的非典型应用实例 11.1 用HTTPS(SSL)构建一个安全的Nginx Web服务器 11.2 采用Nginx搭建FLV视频服务器 11.3 Nginx+PHP+MySQL在小内存VPS服务器上的优化 11.4 采用Nginx搭建正向代理服务器 第4部分 模块篇 第12章 Nginx的核心模块 12.1 主模块指令 12.2 主模块变量 12.3 事件模块指令 第13章 Nginx的标准HTTP模块 13.1 HTTP的核心模块 13.2 HTTP Upstream模块 13.3 Http Access 模块 13.4 HTTP Auth Basic 模块 13.5 Http Autoindex 模块 13.6 Http Browser 模块 13.7 Http Charset 模块 13.8 Http Empty Gif模块 13.9 Http Fcgi 模块 13.10 geo 模块 13.11 Gzip 模块 13.12 Http Headers模块 13.13 Http Index模块 13.14 HTTP Referer模块 13.15 Http Limit Zone模块 13.16 Http Limit Req模块 13.17 Http Log模块 13.18 Http Map模块 13.19 Http Memcached模块 13.20 Http Proxy模块 第14章 Nginx的其他HTTP模块 14.1 Http Addition模块 14.2 Embedded Perl模块 14.3 Flv Stream模块 14.3 flv 指令 14.4 Http Gzip Sta
实战Nginx.取代Apache的高性能Web服务器 电子工业出版社 319页 第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx简介 1.3 选择Nginx的理由 1.4 Nginx与Apache、Lighttpd的综合对比 第2章 Nginx服务器的安装与配置 2.1 安装Nginx服务器所需要的系统资源 2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、停止、平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进 阶 篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例 3.2 Nginx的虚拟主机配置 3.3 Nginx的日志文件配置与切割 3.4 Nginx的压缩输出配置 .3.5 Nginx的自动列目录配置 3.6 Nginx的浏览器本地缓存设置 第4章 Nginx与PHP(FastCGI)的安装、配置与优化 4.1 获取相关开源程序 4.2 安装PHP 5.2.10(FastCGI模式) 4.3 安装Nginx 0.8.15 4.4 配置开机自动启动Nginx + PHP 4.5 优化Linux内核参数 4.6 在不停止Nginx服务的情况下平滑变更Nginx配置 4.7 编写每天定时切割Nginx日志的脚本 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置 5.1 Nginx与JSP(Tomcat)在Linux上的安装、配置 5.2 Nginx与ASP.NET(Mono+FastCGI)在Linux上的安装、配置 5.3 Nginx与Perl(FastCGI)在Linux上的安装、配置 第6章 Nginx HTTP负载均衡和反向代理配置与优化 6.1 什么是负载均衡和反向代理 6.2 常见的Web负载均衡方法 6.3 Nginx负载均衡与反向代理配置实例 6.4 Nginx负载均衡的HTTP Upstream 模块 6.5 Nginx负载均衡服务器的双机高可用 第7章 Nginx的Rewrite规则编写实例 7.1 什么是Nginx的Rewrite规则 7.2 Nginx Rewrite规则相关指令 7.3 PCRE正则表达式语法 7.4 Nginx的Rewrite规则编写实例 7.5 Nginx与Apache的Rewrite规则实例对比 第8章 Nginx模块开发 8.1 Nginx模块概述 8.2 Nginx模块编写实践 第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 9.1 什么是Web缓存? 9.2 Nginx的Web缓存服务 9.3 新浪网开源软件项目——基于Nginx的NCache网页缓存系统 第3部分 实战篇 第10章 Nginx在国内知名网站的应用案例 10.1 Nginx反向代理与负载均衡类网站应用案例 10.2 Nginx+PHP类网站应用案例 第11章 Nginx的非典型应用实例 11.1 用HTTPS(SSL)构建一个安全的Nginx Web服务器 11.2 采用Nginx搭建FLV视频服务器 11.3 Nginx+PHP+MySQL在小内存VPS服务器上的优化 11.4 采用Nginx搭建正向代理服务器 第4部分 模块篇 第12章 Nginx的核心模块 12.1 主模块指令 12.2 主模块变量 12.3 事件模块指令 第13章 Nginx的标准HTTP模块 13.1 HTTP的核心模块 13.2 HTTP Upstream模块 13.3 Http Access 模块 13.4 HTTP Auth Basic 模块 13.5 Http Autoindex 模块 13.6 Http Browser 模块 13.7 Http Charset 模块 13.8 Http Empty Gif模块 13.9 Http Fcgi 模块 13.10 geo 模块 13.11 Gzip 模块 13.12 Http Headers模块 13.13 Http Index模块 13.14 HTTP Referer模块 13.15 Http Limit Zone模块 13.16 Http Limit Req模块 13.17 Http Log模块 13.18 Http Map模块 13.19 Http Memcached模块 13.20 Http Proxy模块 第14章 Nginx的其他HTTP模块 14.1 Http Addition模块 14.2 Embedded Perl模块 14.3 Flv Stream模块 14.3 flv 指令 14.4 Http Gzip Static模块 14.5 Http Random Index模块 14.6 Http Geo IP模块 14.7 Http RealIp模块 14.8 Http SSL模块 14.9 Http Stub Status模块 14.10 Http Sub模块 14.11 Http Dav模块 14.12 Google Perftools模块 14.13 Http XSLT模块 14.14 Http Secure Link模块 14.15 Http Image Filter模块 第15章 Nginx的邮件模块 15.1 Nginx邮件核心模块 15.2 Nginx邮件认证模块 15.3 Nginx邮件代理模块 15.4 Nginx邮件SSL模块 15.5 Nginx邮件模块配置实例
第1章 Linux服务器的搭建与测试 1.1 Linux的安装 1.1.1 Linux简介 1.1.2 Red Hat Enterprise Linux 5新特性介绍 1.1.3 Red Hat Enterprise Linux 5的安装 1.2 常规网络配置 1.2.1 配置主机名 1.2.2 使用ifconfig配置IP地址及辅助IP地址 1.2.3 禁用和启用网卡 1.2.4 更改网卡MAC地址 1.2.5 route命令设置网关 1.2.6 网卡配置文件 1.2.7 setup命令 1.2.8 修改resolv.conf设置DNS 1.3 网络环境测试 1.3.1 ping命令检测网络状况 1.3.2 netstat命令 1.3.3 nslookup测试域名解析 1.4 本章习题 第2章 Samba服务 2.1 Samba原理 2.1.1 Samba概述 2.1.2 Samba应用环境 2.1.3 Samba工作原理 2.2 安装Samba服务 2.2.1 Samba所需软件 2.2.2 Samba的安装 2.3 Samba常规服务器配置 2.3.1 主要配置文件smb.conf 2.3.2 Samba服务日志文件 2.3.3 Samba服务密码文件 2.3.4 Samba的启动与停止 2.3.5 share服务器实例及详解 2.3.6 user服务器实例及详解 2.4 Samba高级服务器配置 2.4.1 用户账号映射 2.4.2 客户端访问控制 2.4.3 设置Samba的权限 2.4.4 Samba的隐藏共享 2.5 Samba客户端配置 2.5.1 Linux客户端访问Samba共享 2.5.2 Windows客户端访问Samba共享 2.6 Samba的打印共享 2.7 Samba企业实战与应用 2.7.1 企业环境及需求 2.7.2 需求分析 2.7.3 解决方案 2.8 Samba排错 2.9 本章习题 2.10 smb.conf字段汇总 第3章 DHCP服务 3.1 DHCP原理 3.1.1 DHCP概述 3.1.2 DHCP的应用环境 3.1.3 DHCP术语 3.1.4 DHCP工作原理 3.2 安装DHCP服务 3.2.1 DHCP所需软件 3.2.2 DHCP的安装 3.3 DHCP常规服务器配置 3.3.1 主配置文件dhcpd.conf 3.3.2 常用参数介绍 3.3.3 常用声明介绍 3.3.4 常用选项介绍 3.3.5 租约数据库文件 3.3.6 应用案例Ⅰ 3.3.7 DHCP的启动与停止 3.3.8 IP地址绑定 3.3.9 应用案例Ⅱ 3.4 DHCP高级服务器配置 3.4.1 DHCP规划 3.4.2 DHCP多作用域设置 3.4.3 DHCP继代理 3.5 DHCP客户端配置 3.5.1 Linux客户端配置 3.5.2 Windows客户端配置 3.6 DHCP服务配置排错 3.6.1 dhcpd 3.6.2 租约文件 3.6.3 ping 3.6.4 MULTICAST 3.6.5 查看系统日志 3.7 本章习题 3.8 字段汇总 第4章 DNS服务 4.1 DNS原理 4.1.1 DNS简介 4.1.2 域名空间 4.1.3 区(Zone) 4.1.4 主域名服务器与辅助域名服务器 4.1.6 DNS查询原理及流程 4.1.7 正向解析与反向解析 4.1.8 资源记录 4.2 安装DNS服务 4.2.1 BIND简介 4.2.2 DNS所需软件 4.2.3 DNS的安装 4.3 DNS常规服务器配置 4.3.1 主配置文件named.conf 4.3.2 配置正向解析区域 4.3.3 配置反向解析区域 4.3.4 区域文件与资源记录 4.3.5 SOA资源记录 4.3.6 NS记录 4.3.7 A资源记录 4.3.8 DNS应用案例Ⅰ 4.3.9 其他常用资源记录 4.3.10 根区域设置及对应区域文件 4.3.11 DNS的启动与停止 4.3.12 host命令测试DNS 4.3.13 rndc 4.3.14 DNS应用案例Ⅱ 4.4 DNS高级服务器配置 4.4.1 辅助DNS服务器及区域数据同步 4.4.2 子域与区域委派 4.4.3 转发服务器 4.4.4 缓存服务器(Caching-only Name Server) 4.5 DNS客户端配置 4.5.1 RHEL5客户端配置 4.5.2 Windows客户端配置 4.6 DNS企业实战与应用 4.6.1 企业环境 4.6.2 需求分析 4.6.3 解决方案 4.7 DNS排错 4.7.1 rndc reload 4.7.2 查看启动信息 4.7.3 查看端口 4.7.4 权限问题 4.8 本章习题 4.9 字段汇总 第5章 Sendmail服务 5.1 Sendmail原理 5.1.1 Sendmail概述 5.1.2 邮件系统工作原理 5.1.3 简单邮件传输协议(SMTP) 5.1.4 POP3协议 5.1.5 IMAP协议 5.1.6 邮件继 5.1.7 邮件认证机制 5.2 安装Sendmail服务 5.2.1 Sendmail服务软件简介 5.2.2 Sendmail服务安装 5.2.3 相关的配置文档 5.3 Sendmail常规服务器配置 5.3.1 sendmail.cf和sendmail.mc 5.3.2 m4工具的使用 5.3.3 local-host-names文件 5.3.4 Sendmail的启动与停止 5.3.5 POP3和IMAP 5.3.6 Sendmail应用案例Ⅰ 5.3.7 别名和群发设置 5.3.8 利用access文件设置邮件继 5.3.10 Sendmail应用案例Ⅱ 5.3.10 Sendmail调试 5.4 Sendmail高级服务器配置 5.4.1 Sendmail认证 5.4.2 邮箱容量设置 5.4.3 POP3S和IMAPS设置 5.5 Sendmail客户端配置 5.5.1 Linux客户端 5.5.2 Windows客户端 5.6 Sendmail服务企业实战与应用 5.6.1 企业环境 5.6.2 需求分析 5.6.3 解决方案 5.7 Sendmail排错 5.7.1 无法定位邮件服务器 5.7.2 身份验证失败 5.7.3 邮箱配额限制 5.8 本章习题 5.9 字段汇总 第6章 FTP服务 6.1 FTP原理 6.1.1 FTP概述 6.1.2 FTP工作原理 6.1.3 主动与被动模式 6.1.4 FTP用户分类 6.2 安装FTP服务 6.2.1 vsftp所需软件 6.2.2 vsftp的安装 6.2.3 vsftp相关文档 6.3 常规服务器配置 6.3.1 主配置文件vsftpd.conf 6.3.2 实现匿名用户访问 6.3.3 实现实体用户访问 6.3.4 FTP应用案例Ⅰ 6.3.5 限制用户目录 6.3.6 限制服务器连接数 6.3.7 定制FTP目录欢迎信息 6.3.8 限制下载速度 6.3.9 FTP的启动与停止 6.3.10 FTP应用案例Ⅱ 6.4 高级服务器配置 6.4.1 设置VSFTP虚拟账号 6.4.2 使用xinetd控制vsftpd 6.5 客户端配置 6.5.1 Linux客户端配置 6.5.2 Windows客户端配置 6.6 企业实战与应用 6.6.1 企业环境 6.6.2 需求分析 6.6.3 解决方案 6.7 FTP排错 6.8 本章习题 6.9 字段汇总 第7章 Web服务 7.1 WWW原理 7.1.1 WWW概述 7.1.2 WWW工作原理 7.1.3 LAMP模型 7.1.4 SSL和CA 7.2 安装Web服务 7.2.1 Apache简介 7.2.2 Apache所需软件 7.2.3 Apache的安装 7.3 Apache常规服务器配置 7.3.1 主配置文件httpd.conf 7.3.2 根目录设置(ServerRoot) 7.3.3 超时设置 7.3.4 客户端连接数限制 7.3.5 设置管理员邮件地址 7.3.6 设置主机名称 7.3.7 设置文档目录 7.3.8 设置首页 7.3.9 网页编码设置 7.3.10 Apache的启动与停止 7.3.11 Web应用案例 7.3.12 Apache日志设置 7.3.13 目录设置 7.3.14 虚拟目录 7.3.15 为Apache建立专门的用户和组 7.4 Apache高级服务器配置 7.4.1 配置Apache虚拟主机 7.4.2 Apache访问控制 7.4.3 htaccess实现用户认证 7.4.4 实现HTTPS 7.5 企业实战与应用 7.5.1 企业环境及需求 7.5.2 需求分析 7.5.3 解决方案 7.6 本章习题 7.7 字段汇总 第8章 iptables 8.1 iptables原理 8.1.1 防火墙概述 8.1.2 iptables简介 8.1.3 iptables工作原理 8.1.4 NAT工作原理 8.2 安装iptables 8.2.1 iptables的安装 8.2.2 iptables的启动与停止 8.3 防火墙配置 8.3.1 iptables的基本语法 8.3.2 设置默认策略 8.3.3 查看iptables规则 8.3.4 添加、删除、修改规则 8.3.5 保存规则与恢复 8.3.6 常用实例及技巧分析 8.3.7 使用日志监控iptables 8.4 NAT(网络地址转换) 8.4.1 iptables实现NAT 8.4.2 配置SNAT 8.4.3 配置DNAT 8.4.4 MASQUERADE 8.4.5 连接跟踪 8.5 企业实战与应用 8.5.1 企业环境及需求 8.5.2 需求分析 8.5.3 解决方案 8.6 本章习题 8.7 字段汇总 第9章 代理服务 9.1 代理服务原理 9.1.1 什么是代理服务器 9.1.2 代理服务器的工作原理 9.1.3 代理服务器的作用 9.2 安装Squid 9.2.1 Squid简介 9.2.2 Squid的安装 9.3 Squid常规服务器配置 9.3.1 Squid主配置文件squid.conf 9.3.2 设置Squid监听的端口号 9.3.3 内存缓冲设置 9.3.4 Squid磁盘缓存 9.3.5 设置缓存日志 9.3.6 设置访问日志文件 9.3.7 设置网页缓存日志 9.3.8 设置Squid的拥有者 9.3.9 设置Squid所属组 9.3.10 设置DNS服务器地址 9.3.11 设置Squid可见主机名 9.3.12 设置管理员E-mail地址 9.3.13 设置访问控制列表 9.3.14 Squid的启动和停止 9.3.15 代理服务应用案例 9.4 Squid高级服务器配置 9.4.1 代理服务器用户访问控制 9.4.2 实现透明代理 9.4.3 反向代理加速Web网站 9.5 代理客户端配置 9.5.1 Linux客户端配置 9.5.2 Windows客户端配置 9.6 Squid企业实战与应用 9.6.1 企业环境 9.6.2 需求分析 9.6.3 解决方案 9.6.4 真实案例配置文件 9.7 本章习题 9.8 字段汇总 第10章 NFS 10.1 NFS原理 10.1.1 NFS概述 10.1.2 RPC简介 10.1.3 NFS工作原理 10.2 安装NFS 10.2.1 NFS所需软件 10.2.2 NFS的安装 10.2.3 NFS相关文档 10.3 常规服务器配置 10.3.1 架设流程 10.3.1 主配置文件exports 10.3.2 NFS应用实例 10.3.3 NFS的启动与停止 10.3.4 exportfs命令 10.3.5 配置NFS固定端口 10.3.6 测试NFS服务 10.4 客户端配置Linux客户端的使用 10.5 NFS排错 10.6 本章练习 10.7 字段汇总 第11章 NIS 11.1 NIS原理 11.1.1 NIS简介 11.1.2 NIS工作原理 11.1.3 NIS工作模式 11.2 NIS的安装 11.2.1 NIS所需软件 11.2.2 安装NIS 11.2.3 NIS相关文档 11.3 服务器端配置 11.3.1 设置NIS域名 11.3.2 主配置文件 11.3.3 创建NIS数据库 11.3.4 建立信任群 11.3.5 配置多NIS服务器 11.3.6 NIS固定端口设置 11.3.7 自动挂载NIS用户主目录 11.3.8 启动与停止NIS服务 11.3.9 NIS应用案例 11.4 客户端配置 11.4.1 所需软件 11.4.2 加入NIS域 11.4.3 修改hosts文件 11.4.4 修改密码验证方式 11.4.5 修改/etc/yp.conf文件 11.4.6 重新启动ypbind服务 11.4.7 客户端检测 11.4.8 修改用户密码 11.5 NIS排错 11.5.1 客户端无法查询NIS信息 11.5.2 添加新的数据无法生效 11.6 练习题 第12章 网络访问 12.1 远程登录服务概述 12.1.1 什么是远程登录 12.1.2 远程登录的特点 12.2 Telnet服务 12.2.1 Telnet概述 12.2.2 Telnet工作原理 12.2.3 安装Telnet程序 12.2.4 Telnet的访问控制 12.2.5 限制最大连接数 12.2.6 Telnet服务的启动与停止 12.2.7 防火墙设置 12.2.8 更改Telnet端口号 12.2.9 Linux客户端 12.2.10 Windows客户端 12.3 SSH服务 12.3.1 SSH概述 12.3.2 安装OpenSSH 12.3.3 SSH的启动与停止 12.3.4 OpenSSH配置文件 12.3.5 OpenSSH身份验证 12.3.6 OpenSSH客户端配置 12.4 本章习题 12.5 字段汇总

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值