Sunday, October 28, 2007

squid 安裝 - Squid.conf 基本設定

這部份主要是以公司的狀況為主,如果你的 Proxy 是在學校用的,請參考中山大學計中。


# http_port 是提供 Proxy Client 連接所使用的 Port,
#Default:
# http_port 3128
#http_port 10.254.6.192:8080
# 設定 proxy 使用的 port , icp 設為0 為不使用
http_port 8080
icp_port 0

# icp_query_timeout 設定 icp query timeout 的時間(ms)
# Default:
icp_query_timeout 0
#icp_query_timeout 1000

# 預設是關閉,目前尚未遇過網站需要此特別設定,故不建議變更預設值。
#ssl_unclean_shutdown on


# proxy 不 cache 檔案名為 cgi, asp, php3 ,
# 主要在使網頁中 cgi asp php3 等網頁能正常運作。
#Default:
# hierarchy_stoplist cgi-bin ?
hierarchy_stoplist cgi-bin ? .asp .cgi
#Default:
# acl QUERY urlpath_regex cgi-bin \?
# no_cache deny QUERY
#acl QUERY urlpath_regex cgi-bin \? \.php \.asp \.cgi
acl QUERY urlpath_regex cgi-bin \? \.cgi
no_cache deny QUERY

# proxy 所使用之實體記憶體(RAM),可設主機 RAM 之 三分之一左右,
# 但也應考慮該部主機是否尚有其他的服務,可酌量加減 !! ( 本機 RAM 為 256 MB )
#
# 配置給 squid 用的記憶體大小,約佔記憶體1/3弱,過多或過少都不好。
# Ex:128MB的記憶體,設定35~40MB便可。通常 Proxy Server 會把記憶體幾乎用之殆盡,
# 所以不適合跟其他服務在一起,故有時候會把記憶體的二分之一拿來當作 cache_mem。
# 注意一點:這並不是說 squid 只利用到這麼大的記憶體大小。
#Default:
# cache_mem 8 MB
# 本機記憶體為 2G, cache_mem 為 512MB
cache_mem 512 MB

#調整cache swap的高低水平,以維持cache資料有效率的置換
#Default:
# cache_swap_low 90
# cache_swap_high 95
cache_swap_low 80
cache_swap_high 95

# 當單一資料超過此大小便不 cache 在硬碟中,限制單一資料的『檔案的容量』。
# Default:
# maximum_object_size 4096 KB
# ref: http://www.linux-faqs.com/squid.php
#half_closed_clients off
maximum_object_size 2048 KB

#限制cache digests 可暫存 IP、Domain Name紀錄的容量。
#Default:
# ipcache_size 1024
# ipcache_low 90
# ipcache_high 95
ipcache_size 32768
ipcache_low 80
ipcache_high 95

# 完整主機名稱(FQDN)紀錄筆數。
#Default:
# fqdncache_size 1024
fqdncache_size 4096

# PROXY存放資料的位置及硬碟容量 第一層及第二層目錄數
# Default:
# cache_dir ufs /var/spool/squid 100 16 256
# 將來預計的設定
# cache_dir /var/spool/squid 4096 32 256

cache_dir diskd /cache1 8000 16 256
cache_dir diskd /cache2 8000 16 256
cache_dir diskd /cache3 8000 16 256
cache_dir diskd /cache4 8000 16 256
cache_dir diskd /cache5 8000 16 256
cache_dir diskd /cache6 8000 16 256
cache_dir diskd /cache7 8000 16 256
cache_dir diskd /cache8 8000 16 256


# 以下為各項系統記錄檔所在目錄設定。各 log file 設定如下:
# access.log 為 proxy 所有使用記錄檔。
# cache.log 為系統運作狀況記錄檔,應常去查看是否正常。
#
# 超重要!!!: 請記得在 crontab 中執行 /usr/bin/squid -k rotate 做每日定時
# 清除 log file,否則會因 log file 太大,而塞爆系統。
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/log/squid/swap.log

# 這個項目設定儲存squid在cache空間儲存物件大小,時間等相關紀錄的紀錄檔儲存位置,
# 除非有必要,否則最好不要儲存它,因為它的檔案大小可是與妳的cache空間成正比的,
# 所以我們可以設定成none來關閉它。
# Default:
#cache_store_log /var/log/squid/store.log
cache_store_log none

#Default:
# logfile_rotate 0
# 保留六份 Logfile
logfile_rotate 6

# DNS 的執行個數,可自行調整
# 建議上限調成 32
#Default:
# dns_children 5
#dns_children 10

No comments:

Post a Comment