安裝squid
//檢查是否安裝squid which squid // apt update sudo apt install squid
配置squid的配置文件squid.conf
//備份squid默認配置文件 cp /etc/squid/squid.conf squid.conf.bak //修改squid.conf vi squid.conf
因為我第一次安裝后,又把squid給卸載了,不知道改動了什么地方,再次安裝squid的時候,/etc下沒有自動生成squid.conf,所以又去根據squid的版本,又去squid官網找的默認配置,改為如下:
http_port 8128 #端口號 cache_mgr xxx@gmail.com #Squid 崩潰時郵件發送地址 # http_access deny all cache_dir null /tmp #配置用戶名密碼,避免被盜用,后面會生成passwords文件 auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords auth_param basic realm proxy acl authenticated proxy_auth REQUIRED http_access allow authenticated
:wq保存,然后檢查配置文件語法是否正確
//檢查語法: squid -k parse //若不報錯,剛說明配置無誤 //第一次啟動前初始化緩存: squid -z //此命令創建了16個一級子目錄
我這里遇到兩個錯誤:
1.WARNING: Could not determine this machines public hostname. Please configure one or set ""visible_hostname"".
在squid.conf配置文件中添加:
visible_hostname squid.packet-pushers.net
2.Squid cache directory not been initialized
好像是squid的緩存目錄還沒有沒有初始化
//重啟squid,自動創建緩存目錄 sudo service squid restart
創建剛才配置文件中配置的密碼,使用htpasswd來創建passwords文件,htpasswd命令在軟件包apache2-utils中。
sudo apt install apache2-utils //生成password文件 這里的路徑和squid.conf中配置的路徑一致 sudo htpasswd -c -d /etc/squid/passwords 自定義用戶名 //然后輸入兩次至少8位的密碼,還要保證生成的passwords文件是可讀的 sudo chmod o+r /etc/squid/passwords
啟動服務
// 開機啟動 systemctl enable squid.service sudo service squid start //重啟服務 squid restart //關閉服務 squid stop
查詢端口狀態
netstat -tnl //查看3128端口是否開啟 netstat -tnl | grep 3128
查看squid訪問日志
tail -f /var/log/squid/access.log
注意:如果配置文件配置錯誤,修改后squid需要重新讀取配置文件,然后重啟squid
squid -k parse squid -k reconfig squid restart