收藏 分享(赏)

Apache启用mod_proxy做正向代理、反向代理(详细版).doc

上传人:eukav 文档编号:4298563 上传时间:2018-12-21 格式:DOC 页数:29 大小:91KB
下载 相关 举报
Apache启用mod_proxy做正向代理、反向代理(详细版).doc_第1页
第1页 / 共29页
Apache启用mod_proxy做正向代理、反向代理(详细版).doc_第2页
第2页 / 共29页
Apache启用mod_proxy做正向代理、反向代理(详细版).doc_第3页
第3页 / 共29页
Apache启用mod_proxy做正向代理、反向代理(详细版).doc_第4页
第4页 / 共29页
Apache启用mod_proxy做正向代理、反向代理(详细版).doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、Apache启 用 mod_proxy做 正 向 代 理 、 反 向 代 理 (详 细 版 )如果没有 apache 没有安装 proxy 模块,可以不用重新编译添加模块。cd /home/cpeasyapache/src/httpd-2.2.17/modules/proxy/usr/local/apache/bin/apxs -c -i mod_proxy.c proxy_util.c (ps 必须 2 个 c 一起编译,不然会报错)/usr/local/apache/bin/apxs -c -i mod_proxy_http.c proxy_util.capache 提供了 mod_pro

2、xy 模块用于提供代理服务,能够支持的包括正向代理、反向代理、透明代理、缓存、负载均衡,HTTP 代理、FTP 代理、SSL 代理等若干强大的功能。通常我们使用的比较多的,是正向代理。也就是在浏览器的网络连接属性框中,填写上一个代理服务器的ip 和端口,即可通过代理服务器中转,去浏览网页。配置正向代理非常简单:首先在 apache 上启用 mod_proxy 模块,需要注意的是,如果在 apache-2.2 上,则还需要加载名为mod_proxy_http 的模块。因为 2.2 系列把代理功能都拆分成 N 个小模块了。打开 apache 的 conf,加入如下几行:(全局配置)ProxyReq

3、uests OnProxyVia OnOrder deny,allowDeny from allAllow from all然后保存退出,重启加载 apache 服务:/etc/init.d/httpd restart 或者做 graceful 也可以。 现在即可在浏览器的网络连接属性框中,填写上 your_apache_server_ip 的 ip 地址,端口是 80,开始用代理了。使用 apache 提供的代理,也可以加身份验证,或者设置 ACL 来限制客户端来源等。这些配置就和普通的 apache 站点配置一样。配置反向代理就是个非常有用的功能。例如从某地访问 google 太慢,但是机

4、房服务器上很快,则可在服务器上设置反向代理连接到 google,也就是把 google 映射到服务器上来访问。然后新建一个网站,即创建一个标准的配置段。这里我们将站点/google 目录设置为 google 的反向代理。在这段里边,加入下边一内容:ProxyRequests OffProxyPass /google http:/ /google http:/ apache。现在即可使用浏览器来访问我的网站的/google 目录。当打开这个目录的时候,会发现页面是 google。点击 google 的下级页面,都可以正常的打开访问,而此时浏览器中的代理服务器并未设置任何内容这就是反向代理。通过反

5、向代理,我们可以将 web 服务器放置在防火墙后,在 web 服务器前端使用 mod_proxy 配置反向代理,并打开 apache 的 mod_cache 缓存模块,更可以极大的提高对静态内容的访问性能。在 RewriteRule 指令中使用P标记也可以:RewriteEngine OnRewriteRule /google/(.*) http:/ P首先要做的事情是: 访问域名 xxx - 通过 代理服务器 B - 访问 服务器 C首页把域名 和 指到自己的 vps 服务器确认自己的服务器中的 Apache 已经启用了 proxymod 和 proxyhttp_mod,sudo /et

6、c/init.d/apache2 restart然后在 apache 中增加站点文件配置如下ServerAdmin ServerName ServerAlias ProxyRequests OffOrder deny,allowAllow from allProxyPreserveHost onProxyPass / http:/ / http:/ /etc/init.d/apache2 reload这样你就可以使用你的域名访问外面的服务器了-apache 增加 mod_cache 模块参考链接:http:/ mod_cache 模块的编译配 apache mod_cache 后 /usr/l

7、ocal/apache/bin/apachectl restartapache 出现以下信息:Cannot load /usr/local/apache/modules/mod_cache.so into server: /usr/local/apache/modules/mod_cache.so: undefined symbol: cache_generate_key_default正规解决方案:modules/cache 下面有很多的.c 文件mod_cache.c 编译得到 mod_cache.so 主要用来控制整个 apache 的 cache 功能。mod_file_cache.c

8、,mod_mem_cache.c,mod_disk_cache.c 这个三个文件编译后得到各自的 cache支持模块。rootzhang2 cache# find . -name “*cache*.c” -print./cache_storage.c./cache_pqueue.c./mod_cache.c./cache_hash.c./mod_mem_cache.c./mod_file_cache.c./mod_disk_cache.c./cache_util.c./cache_cache.cmod_cache.c 还需要其他的程序来进行工作,包括 cache_*.c 这些文件。因此 apx

9、s 动态加载一个模块的时候,需要把这些文件和 mod_cache.c 一起编译:编译 mod_cache:/usr/local/apache/bin/apxs -c -i -a mod_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c编译 mod_disk_cache:/usr/local/apache/bin/apxs -c -i -a mod_disk_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c

10、cache_hash.c编译 mod_mem_cache:/usr/local/apache/bin/apxs -c -i -a mod_mem_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c至此,apache 已经支持缓存了,再加上缓存配置就 Ok!1. 修改 httpd.conf示例:LoadModule cache_module modules/mod_cache.so#LoadModule disk_cache_module modules/mod_disk_cache.so#

11、如果你想使用 mod_disk_cache 代替 mod_mem_cache 的话,#那么就取消上面的注释,并将下面的 LoadModule 行加上注释CacheRoot /cacherootCacheEnable disk /CacheDirLevels 5CacheDirLength 3LoadModule mem_cache_module modules/mod_mem_cache.soCacheEnable mem /MCacheSize 4096MCacheMaxObjectCount 100MCacheMinObjectSize 1MCacheMaxObjectSize 2048#

12、在充当代理的时候,不缓存 update-list 下的内容CacheDisable http:/security.update.server/update-list/2. 创建缓存目录#mkdir /var/www/cacheroot#chown root.apache /var/www/cacheroot#chmod 775 /var/www/cacheroot3. 测试重启 apache,访问网站,会在/var/www/cacheroot 下看到一堆文件夹。Apache2 缓存压缩模块Apache2 参考文档 http:/ httpd-2.2.11/modulesmod_expires.c

13、 mod_headers 位于 metadata 目录下mod_deflate.c 位于 filters 目录下apxs -ica mod_deflate.c 生成 so 文件#vi httpd.conf 下添加:LoadModule deflate_module modules/mod_deflate.soLoadModule expires_module modules/mod_expires.soLoadModule headers_module modules/mod_headers.somodules/cache 下面有很多的.c 文件,大致用途如:mod_cache.c 编译得到

14、mod_cache.so 主要用来控制整个 apache 的 cache 功能。mod_file_cache.c,mod_mem_cache.c,mod_disk_cache.c 这个三个文件编译后得到各自的 cache支持模块。mod_cache.c 还需要其他的程序来进行工作,包括 cache_*.c 这些文件。因此 apxs 动态加载一个模块的时候,需要把这些文件和 mod_cache.c 一起编译:perl /usr/local/apache2/bin/apxs -cia mod_cache.c cache_util.c cache_cache.c cache_storage.c ca

15、che_pqueue.c cache_hash.c安装时编译:# tar zxvf httpd-2.0.49.tar.gz# cd httpd-2.0.49#./configure enable-cache enable-disk-cache enable-mem-cache#mke#make installApache 从 2.0 开始就已经可以使用缓存模块了,不过在 2.0 的时候还是实验性的,到了 2.2 已经完全可以放心的使用。Apache 的缓存实现主要依靠 mod_cache、mod_disk_cache、mod_file_cache 及 mod_mem_cache。只需在配置编译

16、的时候加上参数:enable-cache、enable-disk-cache、enable- file-cache、 enable-mem-cache 即可。关于 Apache 的编译安装本文就不再说了,可以参考以前的文章。这里主要介绍一下如何配置使用 Apache 的缓存功能。具 体来说,Apache 的缓存方式有两种,一种是基于硬盘文件的缓存,由 mod_disk_cache 实现,另一种是使用内存缓存,由 mod_mem_cache 实现,不过它们都是依赖 mod_cache 模块的,mod_cache 模块提供了一些缓存配置的指令供它们使用,而 mod_file_cache 模块是搭配

17、 mod_mem_cache 模块使用的,下面分别进行介绍。1、基于硬盘文件的缓存基于硬盘文件存储的缓存由 mod_disk_cache 模块实现,先看个简单的配置例子:CacheDefaultExpire 86400CacheEnable disk /CacheRoot /tmp/apacheCacheCacheDirLevels 5CacheDirLength 5CacheMaxFileSize 1048576CacheMinFileSize 10把上面的配置加到 Apache 的 httpd.conf 文件中,如果缓存相关的模块都已经编译进了 Apache 的核心,则无需加载模块,直接就

18、能使用上面的指令。指令的详细说明如下:CacheDefaultExpire: 设定缓存过期的时间(秒),默认是 1 小时,只有当缓存的文档没有设置过期时间或最后修改时间时这个指令才会生效CacheEnable:启用缓存,第 1 个参数是缓存类弄,这里当然是 disk 了,第 2 个参数是缓存路径,指的是 url 路径,这里是缓存所有的东西,直接写上“/”即可,如“/docs”则只缓存 /docs 下的所有文件CacheRoot:缓存文件所在的目录,运行 Apache 的用户(如 daemon 或 nobody)要能对其进行读写,如果不清楚的话可以直接设置成 777,请手动建立该目录并设置好访问

19、权限CacheDirLevels:缓存目录的深度,默认是 3,这里设置为 5CacheDirLength:缓存目录名的字符长度,默认是 4,这里设置为 5CacheMaxFileSize 和 CacheMaxFileSize:缓存文件的最大值和最小值(byte),当超过这个范围时将不再缓存,这里设置为 1M 和 10bytes基于硬盘文件存储的文件基本上就这些内容,设置好后重启 Apache 应该就能使用了。一切正常的话,可以在缓存目录下看到 Apache 自动建立的一些目录和缓存的数据文件。2、基于内存的缓存基于内存的缓存主要由 mod_mem_cache 模块实现,还是看个简单的配置吧,这

20、样比较直观:-)CacheEnable mem /MCacheMaxObjectCount 20000MCacheMaxObjectSize 1048576MCacheMaxStreamingBuffer 65536MCacheMinObjectSize 10MCacheRemovalAlgorithm GDSFMCacheSize 131072简单说一下上面一些指令的意思:CacheEnable:启用缓存,使用基于内存的方式存储MCacheMaxObjectCount:在内存中最多能存储缓存对象的个数,默认是 1009,这里设置为 20000MCacheMaxObjectSize:单个缓存对

21、象最大为 1M,默认是 10000bytesMCacheMaxStreamingBuffer:在缓冲区最多能够放置多少的将要被缓存对象的尺寸,这里设置为 65536,该值通常小于 100000 或 MCacheMaxObjectSize 设置的值MCacheMinObjectSize:单个缓存对象最小为 10bytes,默认为 1bytesMCacheRemovalAlgorithm:清除缓存所使用的算法,默认是 GDSF,还有一个是 LRU,可以查一下 Apache 的官方文档,上面有些介绍MCacheSize:缓存数据最多能使用的内存,单位是 kb,默认是 100kb,这里设置为 128M

22、保存重启 Apache 基于内存的缓存系统应该就能生效了,根据需要可以使基于内存的存储或硬盘文件的存储方式一起使用,只要指明不同的 URL 路径即可。3、注意事项使用缓存需要注意如下事项:要使用缓存,必须使用指令 CacheEnable 启用它,目前可用的缓存类型为 disk 或 mem,禁止缓存可以使用 CacheDisable,如 CacheDisable /private待缓存的 URL 返回的状态值必须为: 200、203、300、301 或 410URL 的请求方式必须是 GET 方式发送请求时,头部中包含 “Authorization: ”的字符串时,返回的内容将不会被缓存URL

23、包含查询字符串,如问号 ?后的那些东西,除非返回的内容包含“Expires:” ,否则不会被缓存如果返回的状态值是 200,则返回的头部信息必须包含以下的一种才会被缓存:Etag、Last-Modified、Expires ,除非设置了指令 CacheIgnoreNoLastMod On如果返回内容的头部信息“Cache-Control:”中包含“private”,除非设置了指令 CacheStorePrivate On,否则不会被缓存如果返回内容的头部信息“Cache-Control:”中包含“no-sotre”,除非设置了指令 CacheStoreNoStore On,否则不会被缓存如果返

24、回内容的头部信息“Vary:”中包含了“*”,不会被缓存4、其它一些指令的介绍如果你的网站有几个文件的访问非常频繁而又不经常变动,则可以在 Apache 启动的时候就把它们的内容缓存到内存中(当然要启用内存缓存系统),使用的是 mod_file_cache 模块,具体如下:有多个文件可以用空格格开MMapFile /var/www/html/index.html /var/www/html/articles/index.html上面是缓存文件的内容到内存中,除此之外,还可以只缓存文件的打开句柄到内存中,当有请求进来的时候,Apache 直接从内存中获取文件的句柄,返回内容,和 MMapFile

25、 指令很像,具体如下:CacheFile /var/www/html/index.html /var/www/html/articles/index.html上面两个指令所缓存的文件如果有修改的话,必须重启 Apache 或使用 graceful 之类的方式强制使 Apache 更新缓存数据,否则当用户访问的时候获取的不是最新的数据。有时候需要根据某些特殊的头部信息来决定是否进行缓存,则可以使用如下指令:当头部信息中包含 Set-Cookie 时则跳过不进行缓存操作CacheIgnoreHeaders Set-Cookie有时候需要缓存的时候跳过 URL 中的查询字符串?使用如下指令:Cach

26、eIgnoreQueryString OnApache 的缓存系统不仅可以缓存服务器本身的文件,也可以缓存通过代理得到的内容,对了,Apache 可以像 Squid 一样做代理,而且做的还不错,下篇文章就介绍一下 Apache 的代理功能吧。善用 Apache 的缓存功能,可以让你的网站速度提升不少。做为一个网站来说,虽然可用的各种缓存方案很多,但在 Web 服务器层做缓存的效率还是很值得一试的。更多信息请参考:http:/httpd.apache.org/docs/2.2/caching.html一个 httpd.conf 的配置例子:#一个连接的最大请求数量MaxKeepAliveRequ

27、ests 10000#NT 环境,只能配置这个参数来提供性能#每个进程的线程数,最大 1920。NT 只启动父子两个进程,不能设置启动多个进程ThreadsPerChild 1900#每个子进程能够处理的最大请求数MaxRequestsPerChild 10000LoadModule cache_module modules/mod_cache.soLoadModule disk_cache_module modules/mod_disk_cache.soLoadModule mem_cache_module modules/mod_mem_cache.soCacheForceCompleti

28、on 100CacheDefaultExpire 3600CacheMaxExpire 86400CacheLastModifiedFactor 0.1CacheEnable disk /CacheRoot c:/cacherootCacheSize 327680CacheDirLength 4CacheDirLevels 5CacheGcInterval 4CacheEnable mem /MCacheSize 8192MCacheMaxObjectCount 10000MCacheMinObjectSize 1MCacheMaxObjectSize 51200 一、前言當人們對於網路的需求

29、愈來愈高,網路頻寬的要求也日漸增加,在網路初期,有個文字模式的 BBS 或GOPHER 已是非常今人興奮的事情,發展至 WINDOW 介面時,魔賽克、NETSCAPE 等瀏覽器在網路上的應用,讓我們可以取得更豐富的資料,而今,上網看電視、聽廣播都是輕而易舉的事,但是對於網路傳輸流量也愈來愈大,所以,善用網路資源的同時,也更該節省網路資源。二、Proxy 的概念在安裝之前我們先釐清一個有關 PROXY 的概念,事實上 PROXY SERVER 有很多種類,如 IP Proxy 、Mail Proxy、 Proxy Caching 等,而我們一般所稱的 Proxy 是指 Proxy Caching

30、。如果校園網路內有了 Proxy 伺服器,且所有 CLIENT 端的電腦都連接到 Proxy 伺服器上,當網域內有一台機器的瀏覽器透過 Proxy Server 瀏覽過某個網站上的網頁後,這個被瀏覽過的網站資料就被複製一份到 Proxy Server 的 cache (快取)空間裡,當其他使用者也要瀏覽這個已瀏覽過的網站時,就不用再透過對外的線路傳輸網頁資料,而是直接從 Proxy Server 的 cache 裡讀取網頁資料,所以 Proxy Server 可以大大的節省頻寬與加快用戶端讀取資料速度。其實 Apache 也有 Proxy 的功能,早期的 CERN 也有相同的功能,但是他們主要

31、功能是 WWW SERVER,所以使用的人很少。在 Unix like 系統中,Squid 是使用率最廣的,因為 Squid Proxy Server 是專為 caching 所設計的,Squid 有一套自己的 Cache 階層體系,簡單的說就是 Proxy Server 間的關係有父( parent)、子(child)、兄弟姊妹(sibling)三種關係存在。善用這種階層的架構可以降低 server 的負載和資料傳輸的速度。三、安裝 Squid如果我們在安裝 RedHat + CLE 時,安裝的選項是Everything,那 Squid 就已經安裝在系統中,只是還沒被啟動而以。如果我們可以在

32、 /etc/rc.d/init.d 的目錄下看到 squid 這個檔案,而且在 /etc/squid 下有 squid.conf 的設定檔,那麼我們可以確定 squid 已經安裝好了,只是尚未被啟動而以,如果不是上述的情形,我們也可以自行安裝或昇級,首先你可能要掛上 CD-ROM 或者到大一點的FTP 站下載新的套件,再用 RPM 安裝,可以選擇 i386 的檔案直接安裝,或者是用 src.rpm 的檔案,先自己 rebuild ,再安裝。# rpm Uhv squid-2.2*# rpm rebuild target i686 squid-2.3.S安裝完當然可以馬上啟動,或者利用 setu

33、p、ntsysv 來設定開機時,讓 squid 啟動。但是我們對 cache的目錄還未規劃,所以我們必須對 squid.conf 做一些調整再行啟動。四、squid.conf 的基本設定1. 規劃 CACHE 目錄預設值是 cache_dir /var/spool/squid 100 16 256也就是在 /var/spool/squid 中增加 16256 個目錄,而 SQUID 就利用這 4096 個目錄來存放 100MB 的 CACHE 資料。而在實際的應用上,100MB 的空間實在太少了! 所以我們可以依 SERVER 上的空間來調整 CACHE 的大小,另外 16256 這個目錄大小

34、我們也可依 server 上的實體記憶體和 cache 目錄大小來調整,原則上,除非記憶體大於 256 MB,CACHE 的目錄也需要到 10 GB 以上,否則 16256 或 64256 就可以了。2. 記憶體設定預設值是 #cache_mem 8 MB 一般來說大概是實際記憶的 1/3 ,如果只是單純做為 PROXY ,則可以調高為 1/2 。3. 開放存取設定 原始設定中只允許 localhost 本身使用,所以我們可以把 localhost 的 IP 範圍改成允許使用的 IP 範圍。原來 = acl localhost src 127.0.0.1/255.255.255.255改成 =

35、 acl localhost src 163.17.169.0/255.255.255.0或者原來 = httpd deny all改成 = httpd allow all (安全性較低,不建議)五、啟動 Squid啟動 /etc/rc.d/init.d/squid start ;(啟動和停止的訊息都在/var/log/squid/cache.log)停止 /etc/rc.d/init.d/squid stop因為是以 rpm 安裝,所以在啟動時,程式(shell script)會自動偵測目錄是否存在,所以要改變 cache 目錄,只要在 squid.conf 設定好,重新啟動 squid 就

36、可以!但要事先建立存放的主目錄,而且要注意目錄的擁有者。六、進階設定1. parent 和 sibling若您要設定擷取上一層的 Proxy Server 資料,如 139.175.159.98 (seed net 提供給本縣的 proxy server) ,請在:#cache_peer hostname type 3128 3130 之下加入:cache_peer 139.175.159.98 parent 3128 3130 no-query no-netdb-exchange no-digest若您要設定同層的 Proxy Server 為 Sibling 關係,如:163.17.169

37、.50 、163.17.169.52,則加入:cache_peer 163.17.169.50 sibling 3128 3130 proxy-onlycache_peer 163.17.169.52 sibling 3128 3130 proxy-only參數說明 cache_peer:用來指定擷取快取 Proxy 的主機。hostname:是指快取 Proxy 的主機名稱,也可用 ip 。type:用來指定擷取來源快取 Proxy 主機的型態,有:parent(上一層)、sibling(同一層)兩種。3128:是 http_port。用來取回所需的 cache 資料。3130:是 icp_

38、port。用來詢問 Server 有沒有所需要的資料。no-query:不做詢問動作,直接擷取資料。(用於 parent-chile 關係)no-netdb-exchange:proxy server 之間彼此部交換訊息。no-digest:proxy server 之間不建立 Digest Table。(只用於 Sibling)proxy-only:直接讀取對方 cache 資料,而不存入本機。2. 增加服務的速度Squid Proxy 內定的 DNS 查詢程式的數量是 5,# ps aux |grep squidroot 4388 0.0 0.3 3320 840 ? S 16:29 0:

39、00 squid -Dsquid 4390 0.0 1.7 6020 4396 ? S 16:29 0:00 (squid) -Dsquid 4391 0.0 0.2 1476 700 ? S 16:29 0:00 (dnsserver)squid 4392 0.0 0.1 1336 496 ? S 16:29 0:00 (dnsserver)squid 4393 0.0 0.1 1336 496 ? S 16:29 0:00 (dnsserver)squid 4394 0.0 0.1 1336 496 ? S 16:29 0:00 (dnsserver)squid 4395 0.0 0.1

40、1336 496 ? S 16:29 0:00 (dnsserver)從上列中您可發現第一個主服務是由 root 身分啟動,其他六個則是由 squid 身分啟動。而其中五個是dnsserver,我們可以增加 dnsserver 的數目來增加服務的速度。#dns_children 5,改為dns_children 24 ;最大 DNS 查詢程式數量為 323. LOG 檔案的處理# logfile rotate 0 logfile_rotate 1 此設定必須配合 crontab 執行 /usr/sbin/squid -k rotate,例如我但可以設定在每天的零點二分做一次 log 檔的備份,

41、再利用 pwebstats 統計。4 阻擋不良網站# 不想讓學生玩線上遊戲 或者上到有關 sex 字眼的網站,連在搜尋的地方打上 sex 也擋下來喔!# 定義 game 這個關鍵字所包含的站名,如 sex ,部份即可acl game url_regex sex idolink# 定義 sex 這個關鍵字所包含的網站acl sex dstdomain # 攔下 game , sex 所定義的網站httpd deny game sex在 squid 中,應用 acl 的參數,我們可以過濾網站內容,設定的方式也很多種,有興趣可以多研究 squid.conf 中的範例。七、統量統計下載以下兩個檔案f

42、ly-1.6.5.Linux-2.1.125-i686.tar.gzpwebstats-1.3.7.tar.gz以下# 號後是應輸入的指令# tar xzvf fly-1.6.5.Linux-2.1.125-i686.tar.gz# cd fly-1.6.5# cp fly /usr/sbin ;放置 fly 到可執行路徑,原位置也可以,# mv pwebstats-1.3.7.tar.gz /home/httpd/html# cd /home/httpd/html# tar zxvf pwebstats-1.3.7.tar.gz# cd pwebstats/conf# pe2 squid-p

43、roxy.conf .1. 修改 squid-proxy.conf 檔裡幾項項目: (以下各行中,# 為註解)# pwebstats configuration file for http server# Unique nickname for server.# use only a-z, A-Z and _# e.g. server:proxyserver:PROXY.XXXX.TCC.EDU.TW ;填入 Server 名稱# Header for index page.# e.g. Server_header:The TelDem Enterprises Proxy ServerServ

44、er_header:台中縣 XX 國小 Proxy Server 流量分析# Location of latest log filelogfile:/var/log/squid/access.log;如果有輪換檔,就指定輪換檔 access.log.0 路徑# Location for the output of pwebstats.# e.g. outdir:/home/servers/http/teldem/proxy-usageoutdir:/home/httpd/html/usage;統計結果的輸出網頁路徑,事先 mkdir# directory containing GIF temp

45、lates# e.g. templates:/home/servers/http/pwebstats/templatestemplates:/home/httpd/html/pwebstats/templates # Stats collection interval# can be one of daily, weekly, monthly, quarterlyinterval:daily ; 統計的週期# Location of fly# e.g. fly_prog:/home/servers/http/pwebstats/fly/flyfly_prog:/usr/sbin/fly ;指定

46、 fly 程式路徑12. 執行 ./pwebstats -c squid-proxy.conf 即可產生流量分析網頁及圖表13. 為了每天能自動對 access.log.0 進行分析產生流量分析網頁及圖表,您必須修改 crontab,請執行 #crontab -u root -e,在原內容上加入敘述:(設定在做完 log 輪換檔後執行,每日清晨零點十分整做流量分析)5 0 * * * /usr/sbin/squid -k rotate ;10 0 * * * /home/httpd/html/pwebstats/pwebstats -c/home/httpd /html/pwebstats/c

47、onf/squid-proxy.conf;絕對路徑14. 在瀏覽器的 URL 位址輸入: http:/hostname/usage/,即可顯示流量分析結果,如下圖顯示:Internet Access Monitor for SquidFirewall Analyzerhttp:/ 1mod_proxy一个利用 APACHE 的 mod_proxy 对多个站点进行做 WEB 加速 http acceleration 方案:原先一个站点的规划可能是这样的:*.*.*.1 *.*.*.2/*.*.*.3/*.*.*.4/*.*.*.5 *.*.*.6 而在面向缓存服务器的设计中:所有站点都通过外部 DNS 指向到同一个 IP(或者 2 台到 3 台):*.*.*.100/101(举例)工作原理:外部请求过来时,根据配置文件设置缓存进行转向解析。这样,服务器请求就可以转发到我们指定的内部地址上。在处理多虚拟主机转向方面:mod_proxy 比 squid 要简单一些:可以把不同服务转向后后台多个 IP 的不同端口上。而 squid 只能通过禁用 DNS 解析,然后根据

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 代理连锁

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报