一:安装squid
1.安装依赖包
yum install gcc gcc-c++ -y
2.编译安装Squid服务
tar xf squid-3.5.23.tar.gz
cd squid-3.5.23/
./configure \
--prefix=/usr/local/squid \
--sysconfdir=/etc \ #指定配置文件位置
--enable-arp-acl \ #支持acl访问控制列表
--enable-linux-netfilter \ #打开网络筛选
--enable-linux-tproxy \ #支持透明代理
--enable-async-io=100 \ #io优化
--enable-err-language="Simplify_Chinese" \ #报错显示简体中文
--enable-underscore \ #支持下划线
--enable-poll \ #默认使用poll模式,开启epoll模式时提升性能
--enable-gnuregex #支持正则表达式
make && make install
ln -s /usr/local/squid/sbin/* /usr/local/sbin/
useradd -M -s /sbin/nologin squid
chown -R squid.squid /usr/local/squid/var/
3.编写squid启动服务
cd /etc/init.d/
vim squid
#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
start)
netstat -natp | grep squid &> /dev/null
if [ $? -eq 0 ]
then
echo "squid is running"
else
echo "正在启动 squid..."
$CMD
fi
;;
stop)
$CMD -k kill &> /dev/null
rm -rf $PID &> /dev/null
;;
status)
[ -f $PID ] &> /dev/null
if [ $? -eq 0 ]
then
netstat -natp | grep squid
else
echo "squid is not running"
fi
;;
restart)
$0 stop &> /dev/null
echo "正在关闭 squid..."
$0 start &> /dev/null
echo "正在启动 squid..."
;;
reload)
$CMD -k reconfigure
;;
check)
$CMD -k parse
;;
*)
echo "用法:$0{start|stop|status|reload|check|restart}"
;;
esac
chmod +x /etc/init.d/squid
chkconfig --add squid
chkconfig --level 35 squid on
4.修改配置文件,优化启动项
vim /etc/squid.conf
http_access allow all #56行添加此项,表示允许所有IP访问
http_access deny all
http_port 3128
cache_effective_user squid #添加指定用户squid
cache_effective_group squid #添加指定组squid