- 安裝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