squid升级
源文档地址:https://blog.csdn.net/weixin_47151643/article/details/109103742
本次升级版本为5.2
wget http://www.squid-cache.org/Versions/v5/squid-5.2.tar.gz
yum -y remove squid
卸载原有版本
2.1:安装squid服务
#解压到opt目录
tar zxvf squid-3.4.6.tar.gz -C /opt
#安装编译工具
yum -y install gcc gcc-c++
#configure配置
cd /opt/squid-3.4.6
./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \ //内核过滤
--enable-linux-tproxy \ //透明代理功能模块
--enable-async-io=100 \ //io对于io的优化 异步I/O 提升存储性能
--enable-err-language="Simplify_Chinses" \ //err-language 报错信息设置为中文
--enable-poll \ //提升功能 使用poll()模式
--enable-gnuregex \ //支持正则表达式
--enable-underscore //允许URL支持下划线
./configure --prefix=/usr/local/squid --sysconfdir=/etc/squid --enable-arp-acl --enable-linux-netfilter --enable-linux-tproxy --enable-async-io=100 --enable-err-language="Simplify_Chinses" --enable-poll --enable-gnuregex --enable-underscore
#编译及安装
make && make install
#路径优化,便于系统管理
[root@squid squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/
#创建squid程序性用户
[root@squid squid-3.4.6]# useradd -M -s /sbin/nologin squid
#赋予目录权限
[root@squid squid-3.4.6]# chown -R squid.squid /usr/local/squid/var/
2.2:修改主配置文件
[root@squid squid-3.4.6]# vim /etc/squid.conf //编辑配置文件
//56行
http_access allow all //开启允许所有访问
#http_access deny all //注释拒绝访问
http_port 3128
//下面添加
cache_effective_user squid //缓存相对的用户
cache_effective_group squid //缓存相对的组
#验证语法配置文件语法
[root@squid squid-3.4.6]# squid -k parse
#初始化缓存目录
[root@squid squid-3.4.6]# squid -z
#启动squid服务
[root@squid squid-3.4.6]# squid
#查看端口
[root@squid squid-3.4.6]# netstat -natp | grep 3128
tcp6 0 0 :::3128 :::* LISTEN : 71471/(squid-1)
2.3:创建systemctl启动脚本
[root@squid squid-3.4.6]# cd /etc/init.d/
touch 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 shutdown &> /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
#增加执行权限
[root@squid init.d]# chmod +x squid
#添加到squid服务
[root@squid init.d]# chkconfig --add squid
#设置开机启动
[root@squid init.d]# chkconfig --level 235 squid on
[root@squid init.d]# netstat -ntap | grep 3128
tcp6 0 0 :::3128 :::* LISTEN 118846/(squid-1)
'//重启squid服务'
[root@squid init.d]# service squid stop
[root@squid init.d]# setenforce 0
[root@squid init.d]# service squid start
正在启动 squid...
[root@squid init.d]# netstat -ntap | grep 3128
tcp6 0 0 :::3128 :::* : LISTEN 119829/(squid-1)
2.4:设置缓存参数
[root@squid init.d]# vim /etc/squid.conf
http_port 3128 '//下面添加'
cache_mem 64 MB //缓存64M的内容
reply_body_max_size 10 MB //禁止下载的超过10MB的文件
maximum_object_size 4096 KB //超过4MB:的文件不进行缓存
2.5:设置防火墙规则
[root@squid init.d]# iptables -F
[root@squid init.d]# setenforce 0
[root@squid init.d]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
#重载服务
[root@squid init.d]# service squid reload
[root@squid init.d]# netstat -ntap | grep 3128
tcp6 0 0 :::3128 :::* LISTEN 119829/(squi:d-1)
2.6:配置web端和客户端
[root@localhost ~]# su
[root@web ~]# systemctl stop firewalld.service
[root@web ~]# setenforce 0
[root@web ~]# yum install httpd -y
[root@web ~]# systemctl start httpd
[root@web ~]# netstat -ntap | grep 80
tcp6 0 0 :::80 :::* LISTEN 85552/httpd
#查看访问日志是没有东西的
[root@web ~]# cat /var/log/httpd/access_log
————————————————
版权声明:本文为CSDN博主「小爱人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47151643/article/details/109103742