因为公司业务需要,需要自己在某地搭建一个cdn 节点,通过DNSpod 智能解析和squid 配合可以搭建一个节点
安装路径: /usr/local/squid
1,安装squid
下载 http://www.squid-cache.org/Versions/v3/3.4/squid-3.4.8.tar.gz
#yum -y install gcc gcc-c++ perl perl-devel #安装编译用的插件
# Tar xvf squid-3.4.8.tar.gz
#cd squid-3.4.8
#cd /usr/local
#mkdir squid # 新建一个名为squid 目录
#cd squid-3.4.8
#./configure --prefix=/usr/local/squid --enable-ssl #编译
#make && make install #安装
配置1
新建用户squid 和用户组 squid
#groupadd squid
#useradd -g squid -s /sbin//nologin squid
配置squid 文件
#vi /usr/local/squid/etc/squid.conf
visible_hostname chengdu.sz1card1.com
cache_effective_user squid
cache_effective_group squid
http_port 80 accel vhost vport
cache_peer 192.168.1.11 parent 80 0 no-query originserver round-robin name=proxy1
cache_peer 192.168.1.12 parent 80 0 no-query originserver round-robin name=proxy2
cache_peer 192.168.1.13 parent 80 0 no-query originserver round-robin name=proxy3
cache_peer_domain proxy1 server.1card1.cn
cache_peer_domain proxy2 www.abc.cn
cache_peer_domain proxy2 www.xxxx.cn
cache_peer_domain proxy3 www.abcd.com
http_access allow all
cache_log /usr/local/squid/var/logs/cache.log
access_log /usr/local/squid/var/logs/access.log squid
cache_dir ufs /usr/local/squid/var/cache 1000 16 256
maximum_object_size 10240 KB
maximum_object_size_in_memory 1024 KB
cache_mem 1024 MB
配置2
#chown -Rf squid:nobody /usr/local/squid
初始化squid.conf里配置的cache目录,就是建立了一堆的目录:
#sudo /usr/local/squid/sbin/squid -z
启动squid后台运行
sudo /usr/local/squid/sbin/squid -s
检查一下进程是否存在:ps -ef|grep squid
Squid日常维护过程中,常用的一些命令:
1,初始化你在 squid.conf 里配置的 cache 目录
squid -z
如果有错误提示,请检查你的 cache目录的权限。
可以使用使用更改目录权限:
chown -R squid:squid cache目录和log 目录 chmod -R -f 777 cache log
2,对你的squid.conf 排错,即验证 squid.conf 的 语法和配置。
squid -k parse
如果squid.conf 有语法或配置错误,这里会返回提示你,如果没有返回,尝试启动squid。
3,在前台启动squid,并输出启动过程。
/usr/local/squid/sbin/squid -N -d1
如果有ready to server reques相关信息,说明Squid启动成功。
Squid 作为系统服务重启脚本
#!/bin/bash #
chkconfig: 345 61 61
# description: squid is a web cache server
# processname: squid
. /etc/rc.d/init.d/functions
case $1 in
"start") /usr/local/squid/sbin/squid -s
if [ $? == "0" ];then
echo "squid start ok"
else
echo "please check the log"
fi
;;
"stop") /usr/local/squid/sbin/squid -k shutdown
if [ $? == "0" ];then
echo "squid stop ok"
else
echo "please check the log"
fi
;;
"restart")
/usr/local/squid/sbin/squid -k shutdown
if [ $? == "0" ];then
/usr/local/squid/sbin/squid -s
if [ $? == "0" ];then
echo "squid restart ok"
else
/usr/local/squid/sbin/squid -s
if [ $? == "0" ];then
echo "squid restart ok"
else
echo "please check the log"
fi
fi
fi
;;
*)
echo "Usage only start|stop|restart"
;;
esac
把这个文件放到/etc/init.d/目录下并命名为squid
chmod +x /etc/init.d/squid
chkconfig --add squid
如果出现squid 服务不支持 chkconfig
则去更改上面的 chkconfig: 345 61 61 这几个数字