centos5.6下squid的配置实现

**********************************************************
更新编译器
yum -y instsll gcc*
**********************************************************
更改部分配置
/usr/include/bits/typesizes.h
/usr/include/linux/posix_types.h
找到#define __FD_SETSIZE 1024
把1024改为65536
并执行
ulimit -Hs 65536
ulimit -n 65536
*********************************************************
下载源码
wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.10.tar.gz
编译安装
./configure --prefix=/usr/local/squid  --disable-carp  --with-aufs-threads=32  --enable-removal-policies='heap,lru'  --enable-linux-tproxy --disable-wccp --enable-kill-parent-hack --disable-snmp --disable-poll --disable-select --enable-auth=basic --with-aio  --enable-large-cache-files --enable-default-err-language=Simplify_Chinese  --enable-epoll --enable-cache-digests --with-maxfd=65535

make

make install

创建目录
mkdir /var/log/squid
mkdir /var/spool/squid
chown nobody:nobody /var/log/squid
chown nobody:nobody /var/spool/squid
*******************************************************
配置文件
vi /usr/local/squid/etc/squid.conf
******squid 3.10标准配置文件***************
visible_hostname squid.cwd.com
http_port 80 vhost vport
cache_mem 3072 MB
maximum_object_size_in_memory 2048 KB
memory_replacement_policy lru
cache_dir ufs /var/spool/squid 20480 16 256
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
max_open_disk_fds 0
minimum_object_size 0 KB
maximum_object_size 32768 KB
#logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h""%{User-Agent}>h" %Ss:%Sh
cache_peer 117.79.84.169 parent 80  0 no-query no-digest originserver name=bj         #需要反向代理的源WEB服务器,可以添加多个 ,若只有一个源WEB服务器,可不设name
cache_peer 121.12.116.216 parent 80 0 no-query no-digest originserver name=dg         #需要反向代理的源WEB服务器,可以添加多个
cache_peer_domain bj www.enkj.com                 #若只有一个源WEB服务器,可不设cache_peer_domain
cache_peer_domain dg www.web787.com
http_access allow all
cache_effective_user nobody
cache_effective_group nobody
cache_mgr [email protected]
#refresh_pattern ^ftp: 60 20% 10080
#refresh_pattern ^gopher: 60 0% 1440
#refresh_pattern ^gopher: 60 0% 1440
#refresh_pattern . 0 20% 1440
refresh_pattern -i \.css$       360     50%     2880    
refresh_pattern -i \.js$        1440    50%     2880    
refresh_pattern -i \.html$      720     50%     1440    
refresh_pattern -i \.jpg$       1440    90%     2880    
refresh_pattern -i \.gif$       1440    90%     2880    
refresh_pattern -i \.swf$       1440    90%     2880    
refresh_pattern -i \.jpg$       1440    50%     2880    
refresh_pattern -i \.png$       1440    50%     2880    
refresh_pattern -i \.bmp$       1440    50%     2880    
refresh_pattern -i \.doc$       1440    50%     2880     
refresh_pattern -i \.ppt$       1440    50%     2880     
refresh_pattern -i \.xls$       1440    50%     2880     
refresh_pattern -i \.pdf$       1440    50%     2880     
refresh_pattern -i \.rar$       1440    50%     2880     
refresh_pattern -i \.zip$       1440    50%     2880     
refresh_pattern -i \.txt$       1440    50%     2880 


********************************************************
只要是配置文件里没有的可以直接复制进去

设置权限
chmod 777 /usr/local/squid/var

chmod 777 /usr/local/squid/var/logs

测试
/usr/local/squid/sbin/squid -z
不出错的话就是配置文档没有问题
有错误请按提示处理
/usr/local/squid/sbin/squid -k parse  测试配置文件

/usr/local/squid/sbin/squid -k reconfigure  重新配置文件

/usr/local/squid/sbin/squid -k shutdown  关闭squid

/usr/local/squid/sbin/squid -s 开启squid 后台

/usr/local/squid/sbin/squid -N -d1 前台开启squid

/usr/local/squid/sbin/squid -k interrupt   关闭squid(更高优先级,直接关闭squid)

/usr/local/squid/sbin/squid -k kill   关闭squid(最高优先级,直接杀死squid进程)

设置squid自启动
echo "/usr/local/squid/sbin/squid -s " >>/etc/rc.local

设置每周二凌晨两点25分自动滚动日志
echo "25 2 * * 2 root /usr/local/squid/sbin/squid -k rotate " >>/etc/crontab



设置squid自启动

/etc/rc.local

/usr/local/squid/sbin/squid


***************************************************************

基本的使用方法


基本的使用方法

*取得squid运行状态信息: squidclient -p 80 mgr:info

*取得squid内存使用情况: squidclient -p 80 mgr:mem

*取得squid已经缓存的列表: squidclient -p 80 mgr:objects. use it carefully,it may crash

*取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd

*强制更新某个url:squidclient -p 80 -m PURGE http://www.php-oa.com/static.php

*更多的请查看:squidclient -h 或者 squidclient -p 80 mgr:


测试方式

在另一台机器上的host文件里加入
IP        域名
(squid服务器的IP)  需要代理的域名(www.enkj.com)
ping www.enkj.com 测试解析出squid服务器的IP 并且通 就是成功了。
 

你可能感兴趣的:(linux,centos,休闲,centos5.6,squid的配置实现)