#tar xzvf squid-2.5.STABLE7.tar.gz #cd squid-2.5.STABLE7 #./configure --prefix=/usr/local/squid --enable-delay-pools #make #make install
看到類似于下圖的提示,并且沒有出現(xiàn) Error Code :1 之類的錯(cuò)誤提示,證明Squid已經(jīng)安裝完成了!
********************************* /usr/local/squid/sbin/squid -z **************************** /usr/local/squid/sbin/squid ************************
配置Squid.conf
好,接下來要做的僅僅是配置Squid.conf.
#ee /usr/local/squid/etc/squid.conf
但是原來的squid.conf并不是最好的,最好是你自己新建一個(gè)Squid.conf.
#cd /usr/local/squid/etc #mv squid.conf squid.conf.bak #touch squid.conf #ee squid.conf
照我的Squid.conf寫,就能正常運(yùn)行啦. 在ee編輯器中輸入: http_port 3128 cache_dir ufs /usr/cache 530 16 256 cache_mem 32 MB cache_store_log /var/log/squid/store.log cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_effective_user nobody cache_effective_group nogroup http_access allow all delay_pools 1 delay_class 1 1 delay_access 1 allow all delay_parameters 1 1500000/1500000 delay_initial_bucket_level 50
http_port 3128 # squid 的端口 cache_dir ufs /cache 530 16 256 # 緩存目錄:/cache 類型:ufs 大小:530mb 允許Squid在目錄下建立一級(jí)(16)和二級(jí)目錄(256) cache_mem 32 MB # cache內(nèi)存大小:32mb cache_store_log /var/log/squid/store.log #Squid的日志1:在/var/log/squid下 cache_access_log /var/log/squid/access.log #Squid的日志2:在/var/log/squid下 cache_log /var/log/squid/cache.log #Squid的日志3:在/var/log/squid下 ### cache user cache_effective_user nobody #緩存用戶UID cache_effective_group nogroup #緩存用戶組 GID ### cache admin visible_hostname etclub.3322.org #發(fā)生錯(cuò)誤時(shí),生成提示所顯示的緩存服務(wù)器名 cache_mgr [email]horus@etclub.3322.org[/email] #發(fā)生錯(cuò)誤時(shí),生成提示所顯示的緩存服務(wù)器管理員名 acl badurls dstdomain popme.163.com http_access deny badurls #以上2句不允許使用該緩存服務(wù)器訪問popme.163.com acl badwords url_regex -i *** http_access deny badwords #以上2句不允許使用該緩存服務(wù)器訪問URL正則表達(dá)式中含***字樣的URL httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on #httpd 透明代理設(shè)置 acl all src 0.0.0.0/0.0.0.0 http_access allow all #以上2句允許所有ip使用該緩存服務(wù)器,這兩句要放在所有的ACL語句的最后!
限速設(shè)置
delay_pools 1 delay_class 1 1 delay_access 1 allow all delay_parameters 1 1500000/1500000 delay_initial_bucket_level 50
按Ctrl C 在command:后輸入exit,再回車.存盤退出.
以上是一個(gè)簡(jiǎn)單,但足以正常工作的squid.conf. 接下來,建立緩存目錄和Squid的日志.
建立Squid的日志&緩存目錄
#mkdir /squid #chmod 777 /squid (緩存目錄必須可寫!) #chown -R nobody:nogroup /squid #cd /var/log #mkdir squid #cd squid #touch access.log #touch cache.log #touch store.log #cd .. #chown -R nobody:nogroup /var/log/squid #chown -R nobody:nogroup /usr/local/squid
然后:你應(yīng)該讓squid在/squid建立緩存文件系統(tǒng)
#/usr/local/squid/sbin/squid -z
squid提示:Creating swap ... 然后回到shell提示符:#. 注意:以上指不出意外的話,若出現(xiàn)visible_hostname錯(cuò)誤的話,證明你的squid.conf沒寫完整.
運(yùn)行Squid
好了,運(yùn)行你的Squid吧!
#/usr/local/squid/sbin/squid
停止 squid #/usr/local/squid/sbin/squid -k shutdown 這個(gè)不用解釋吧。
重引導(dǎo)修改過的 squid.conf #/usr/local/squid/sbin/squid -k reconfigure //載入新的配置文件
對(duì)你的squid.conf 排錯(cuò),即驗(yàn)證 squid.conf 的 語法和配置。 #/usr/local/squid/sbin/squid -k parse 如果squid.conf 有語法或配置錯(cuò)誤,這里會(huì)返回提示你,如果沒有返回,恭喜,可以嘗試啟動(dòng)squid。
/usr/local/squid/sbin/squid -k rotate 輪循日志
取得squid運(yùn)行狀態(tài)信息: squidclient -p 80 mgr:info *取得squid內(nèi)存使用情況: squidclient -p 80 mgr:mem *取得squid已經(jīng)緩存的列表: squidclient -p 80 mgrbjects. use it carefully,it may crash *取得squid的磁盤使用情況: squidclient -p 80 mgr:diskd
Q & A
Q:如何判斷已經(jīng)成功實(shí)現(xiàn)緩存功能
A:
#ps -waux | grep squid #cat /var/log/squid/cache.log (有沒有正常輸出) #netstat -a | more (找3128端口)
|