Squid故障與解決方法彙總

2021-06-19 18:14:53 字數 4057 閱讀 9042

1、coss will not function without large file support (off_t is 4 bytes long. please reconsider recompiling squid with --with-large-files

bungled squid_webcache.conf 。。。。。。。

檢查是否在編譯squid的時候未加入--with-large-files 選項,如果是,重新加入此選項再編譯一次squid

2、使用coss快取格式的時候,squid不斷重建cache

可能原因為maxfullbufs值過低,去掉maxfullbufs限制,讓其值為無限

3、日誌中有類似如下的內容:

2007/03/05 14:46:56| ready to serve requests.

2007/03/05 14:46:59| clientreadrequest: fd 11 (192.168.1.5:34061) invalid request

illegal character in hostname; underscores are not allowed

注釋: 無效的字串,訪問位址中不允許下劃線。

解決辦法 :

squid 2.5 中,編譯的時候加入如下引數

--enable-underscore

允許解析的url中出現下劃線,因為預設squid會認為帶下劃線的url位址是非法的,並拒絕訪問該位址。

對於2.6 版本,編譯時沒有這個引數,這個引數出現在squid.conf 的配置文件裡,說明是這樣的:

allow_underscore new option to allow _ in hostnames, replacing the similar build time configure option in 2.5 and earlier.

具體的在squid.conf 中的引數,可以在配置文件裡搜尋一下allow_underscore,看一下配置文件的具體注釋。

4、squid的cache.log日誌中又類似如下的警告:

warning: 100 swapin 

md5mismatches

這個錯誤是說squid讀入乙個快取檔案的時候,儲存在介面對應的位置的url不是

squid認為應該儲存在那裡的資料。這可能是swap.state有錯誤或檔案指到了磁碟

上錯誤的塊(檔案

系統有錯誤)。

停止squid應用,刪除swap.state然後啟動squid,讓它通過讀取快取檔案來重建快取

記錄,如果重建後仍然出現上面的情況,那應該就是檔案系統或磁碟有問題了。

5、日誌中出現下面警告:

jun 28 11:14:38 localhost squid[27178]: squidaio_queue_request: syncing pending i/o operations.. (blocking)

jun 28 11:14:59 localhost squid[27178]: squidaio_queue_request: synced

jun 28 11:14:59 localhost squid[27178]: storeaufsopendone: (2) no such file or directory

jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache1/00/6b/00006b29

jun 28 11:14:59 localhost squid[27178]: storeaufsopendone: (2) no such file or directory

jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache1/00/dc/0000dc36

jun 28 11:14:59 localhost squid[27178]: warning: 1 swapin md5 mismatches

jun 28 11:14:59 localhost squid[27178]: warning: disk space over limit: 18925740 kb > 16777216 kb

jun 28 11:14:59 localhost squid[27178]: storeaufsopendone: (2) no such file or directory

jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache2/00/92/0000924f

jun 28 11:14:59 localhost squid[27178]: storeaufsopendone: (2) no such file or directory

jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache1/03/6f/00036fb6

jun 28 11:14:59 localhost squid[27178]: squidaio_queue_request: async request queue growing uncontrollably!

解決方法:

檢查配置檔案,cache設定為aufs檔案系統格式,將此設定改為ufs,重建cache快取目錄

6、執行reconfigure的時候出現squid: error: no running copy

原因是找不到pid檔案,如果不是使用預設的squid.conf作為squid的設定檔案,在用squid目錄下sbin/squid進行重新啟動等動作的時候要加上-f的引數制定配置檔案,同時檢查pid檔案是否存在,有時候可能錯誤地配置了pid檔案到不存在的目錄,或者將pid檔案配置到了應用沒有許可權寫入的目錄,導致沒有建立pid檔案,如果pid檔案不存在,可以手工建立該pid,然後獲取squid的pid並寫人pid檔案。

7、squid在壓力大的情況下響應非常慢

檢查是否檔案描述符太小,如果是,調整檔案描述符限制,重啟squid,檢查squid執行的檔案描述符,如果為調整後的,則在啟動指令碼處啟動squid的地方加入調整檔案描述符的命令,否則除此外還需先調整檔案描述符限制然後重新編譯安裝一次squid

8、快取效率下降,檢視日誌無報錯,netstat -na檢視連線有比較多的連線為syn_re,且多為同一ip過來的連線

優化tcp網路

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

echo 1 > /proc/sys/net/ipv4/tcp_synack_retries

echo 1 > /proc/sys/net/ipv4/tcp_syn_retries

9、快取效率低,網絡卡輸入輸出流量差距很小。

首先檢視系統日誌有無squid的報錯,如果沒有再檢視dmesg,看看有無丟包,是否網絡卡問題,如果沒有再檢視閘道器

使用squid的時候閘道器問題關係重大,如果閘道器沒有配置正確,將可能導致使用者訪問不了。

10、日誌報如下錯誤:squid: could not determine fully qualified hostname. please set 'visible_hostname'

檢查/etc/hosts檔案、/etc/sysconfig/network檔案、和hostname命令結果,看看三者是否對應,如果不對應,需要修改為對應,並且/etc/hosts檔案中對應的配置還需要有合法網域名稱格式

/etc/sysconfig/network中的hostname是系統啟動時候載入的hostname值,如果此值與/etc/hosts檔案中的值不對應並且squid中沒有設定visible_hostname選項的話,會導致系統重啟後squid不能正常啟動。

11、日誌大量報如下錯誤:

這表明伺服器返回乙個超過squid宣告的響應物件最大值的返回值。

它違反了http協議並導致伺服器返回被截斷。

雙網絡卡故障解決方法

很多單位和企業的,出於安全方面的考慮,在計算機上採用了雙網配置,乙個使用者接入internet等外部網路,另乙個接入內部區域網,在使用兩個網絡卡時,常常遇到網路時斷時通的問題,一會是外網不通,一會又是內網斷開。故障計算機的兩個網絡卡的配置如下 外網 假設 子網掩碼 255.255.255.0 預設閘...

開機黑屏故障解決方法

開機黑屏故障解決方法 written by jason 本文的解決方法是我根據長期以來的電腦維修 維護的經驗總結而編寫的,目的主要解決電腦的開機沒反應 黑屏沒顯示的問題。文章中的方法主要是針對台式電腦使用,希望可以幫助你解決實際的問題。注意,文章中的操作請在關掉電源的情況下進行除錯!開機電源燈不亮 ...

中文亂碼解決方法 彙總

1.以post方式提交的表單資料有中文字元。我用個例子來說。比如就gbk來說吧 web容器的預設編碼是iso 8859 1.在servlet jsp中,在提交表單資料之 前,容器先呼叫request.setcharacterencoding gbk 來指定正文的字 符編碼方式為gbk,後在用resp...