
展开全部 安装步骤:./configure --prefix=/usr/local/squidmake allsudo make install(因为要拷贝到系统目录,需要root权限,所以sudo了,你也可以root登录执行,我是Ubuntu的系统,所以用sudo,有root权限就行) 检查配置文件:sudo vi /usr/local/squid/etc/squid.conf配置项1:# Squid normally listens to port 3128http_port 3128 配置项2:acl localnet src 192.168.0.0/16http_access allow localnet 配置项3:# Uncomment and adjust the following to add a disk cache directory.cache_dir ufs /usr/local/squid/var/cache/squid 100 16 128cache_mem 32 MB (这一条必须配置)否则你就会遭遇报错: 2013/10/12 16:16:55 kid1| WARNING cache_mem is larger than total disk cache space! 安装好了以后,系统中新建了一个用户squid,在组中一查,发现属于nobody组的:cat /etc/passwd|grep squidcat /etc/group|grep 65534 安装squid的所在目录是:/usr/local/squid我闲得没事干,直接改了所属用户为squid:nobodysudo chown -Rf squid:nobody /usr/local/squid 建立cache的时候,对下面目录需要nobody用户权限,这个是网上没有说的很清楚的地方,折腾了我半天:sudo chown -Rf nobody /usr/local/squid/var/cache/sudo chown -Rf nobody /usr/local/squid/var/logs/ 否则你会遭遇:WARNING: Cannot write log file: /usr/local/squid/var/logs/cache.logFATAL: Failed to make swap directory /usr/local/squid/var/cache/squid/00: (13) Permission denied 初始化squid.conf里配置的cache目录,就是建立了一堆的目录:sudo /usr/local/squid/sbin/squid -z 在前台启动squid,并输出启动过程sudo /usr/local/squid/sbin/squid -N -d1显示ready to server reques,则启动成功。可以键入ctrl+c,停止squid,并以后台运行的方式启动。 我没有在配置文件中配置DNS,而是在 /etc/resolv.conf 中配置:domain sitenameserver x.x.x.x 所以打印出来的日志中就这样的:2013/10/12 16:42:13| Adding nameserver x.x.x.x from /etc/resolv.conf squid从这个配置文件中读取了dns配置来用。 启动squid后台运行sudo /usr/local/squid/sbin/squid -s检查一下进程是否存在:ps -ef|grep squid 通过squid客户端查看squid运行状态/usr/local/squid/bin/squidclient -h 127.0.0.1 -p 3128 mgr:info 那台不能上网的机器配置如下:export http_proxy=可以把这句写到你的启动文件中,比如什么.profile或者.bashrc,或者/etc/profile等等。 取消:unset http_proxy 测试一下能不能上网了: 能down下来文件就算大功告成啦。