一.安裝squid服務.
tar xzvf squid-2.5.STABLE12.tar.gz
cd squid-2.5.STABLE12 linux
ulimit -n 65535 //打開文件數爲65536
./configure --prefix=/usr/local/squid --enable-snmp --enable-storeio=diskd,ufs --enable-poll
--disable-hostname-checks --enable-underscores --enable-x-accelerator-vary
--enable-kill-parent-hack --enable-err-language="Simplify_Chinese"
--enable-default-err-languages="Simplify_Chinese" --disable-ident-lookups
--with-maxfd=65535;
make;
make install;
--prefix=/usr/local/squid :指定軟件的安裝路徑.
--enable-snmp :此選項可讓MRTG使用SNMP協議對服務器的流量狀態進行監測,所以必須選擇此項,使Squid支持SNMP接口。
--enable-storeio=diskd,ufs :磁盤ache的模式.
--enable-poll :應啓用Poll()函數而不是select()函數,一般而言poll(輪詢)比select要好,
但configure(腳本程序)已知Poll在某些平臺下失效, 若你認爲你比configure編譯配置腳本程序要聰明的話,
能夠用這個選項啓用Poll。總之就是用這個能夠提高性能就是啦。
--disable-hostname-checks :關閉hostname檢查;以提升速度.
--enable-underscore :容許解析的URL中出現下劃先,由於默認squid會認爲帶下劃線的URL地址是非法的,並拒絕訪問該地址。
--enable-x-accelerator-vary :Enable support for the X-Accelerator-Vary
HTTP header. Can be used to indicate
variance within an accelerator setup.
Typically used together with other code
that adds custom HTTP headers to the requests.
--enable-kill-parent-hack :關掉suqid的時候,要不要連同父進程一塊兒關掉.
--enable-err-language="Simplify_Chinese" 和
--enable-default-err-languages="Simplify_Chinese" :指定出錯是顯示的錯誤頁面爲簡體中文.
--disable-ident-lookups :防止系統使用RFC931規定的身份識別方法。 緩存
--enable-cahce-digests :加快請求時,檢索緩存內容的速度。(在squid集羣時纔有用)
--enable-linux-netfilter :能夠支持透明代理for linux2.4.
--enable-arp-acl :能夠在規則設置中直接經過客戶端的MAC地址進行管理,防止客戶使用IP欺騙。(和上一行配合用;只有反向代理時沒用).
--with-maxfd=65535 //打開文件數爲65536 安全
二.初始化cache磁盤目錄 服務器
mkdir /usr/local/squid/var/cache dom
chown -R nobody:nobody /usr/local/squid/var/cache ide
/usr/local/squid/sbin/squid -zX 函數
三 啓動squid服務. 性能
vi /etc/hosts
(單個域名就不用加了;直接在squid.conf中httpd_accel_host 127.0.0.1用ip地址而不用httpd_accel_host virtual) 測試
加上127.0.0.1 localhost.localdomain localhost
*.*.*.* botu.bokee.com botu.blogchina.com ui
/usr/local/squid/sbin/squid -CD
{//squid 命令行選項
-v
打印版本信息。
-z
初始化cache,或者交換,目錄。在首次運行squid,或者增長新的cache 目錄時,你必須使用該選項。
-C
阻止安裝某些信號句柄,它們捕獲特定的致命信號例如SIGBUS 和SIGSEGV。正常的,這些信號被squid 捕獲,以便它能幹淨的關閉。然而,捕獲這些信號可能讓之後調試問題困難。使用該選項,致命的信號致使它們的默認動做,一般是coredump。
-D
禁止初始化DNS 測試。正常狀況下,squid 直到驗證它的DNS 可用才能啓動。該選項阻止了這樣的檢測。你也能在squid.conf 文件裏改變或刪除dns_testnames 選項。
-F
讓squid 拒絕全部的請求,直到它從新創建起存儲元數據。假如你的系統很忙,該選項能夠減短重建存儲元數據的時間。然而,若是你的cache 很大,重建過程可能會花費很長的時間。
-N
阻止squid 變成後臺服務進程。
-R
阻止squid 在綁定HTTP 端口以前使用SO_REUSEADDR 選項。//}
重配置運行中的squid 進程
./squid -k reconfigure(不重啓squid服務而使squid.conf從新生效)
對配置文件查錯
%squid -k parse
在終端窗口裏測試squid
%squid -N -d1
將squid 做爲服務進程運行
%squid -s
squid_start 腳本
% /usr/local/squid/sbin/squid –sD
四.中止squid服務.
killall squid
最安全的中止squid 的方法是使用squid -k shutdown 命令:
%squid -k shutdown
五.進程檢查
ps -ef |grep squid
六.端口檢查
netstat -alp|grep squid
telnet 192.168.2.3 80
GET / HTTP/1.1
再敲回車健;有信息就表明通了.
七.查看日誌.
日誌記錄了客戶的ip地址,使用的協議,得到的目的地IP地址和所得到的內容.access.log文件是比較重要的日誌文件,記錄了代理服務的平常活動,能夠經過一些軟件,很容易對代理服務的活動信息加以統計,及查找不安全信息. 而cache.log則是緩衝區的相關記錄,store.log記錄了服務器訪問的網頁狀態信息.相對而言access.log日誌是使用較多的日誌文件.