主机上的squid一直是傻瓜型使用,yum安装、默认配置、千年不动。突然漏扫出来3.X版本不能用了,搜了下,得升4。神奇的发现centos7的源(阿里源)里面竟然最高只有3。网上搜使用yum装的也都是3,也不知道是什么原因。只好删掉3,手工装4。下面是记录。

1、下载:http://www.squid-cache.org/Download/

2、安装:参见:《Squid-4.1(最新)安装及构建代理服务器》

# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl  --enable-linux-netfilter --enable-linux-tproxy  --enable-async-io=  --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnuregex
# make && make instal

3、配置:使用默认配置

4、填坑:照上面的执行是跑不起来的。

  • 坑1:必须使用root安装,具有sudo权限,且用sudo执行命令都不行,过程中会报各种权限不够。肯定有其他低权限安装和使用的方法,但没有时间研究了。
  • 坑2:装完后必须使用/usr/local/squid/sbin/squid -z先初始化缓存空间。
  • 坑3:删除3之后没有重启服务器,在运行squid的时候报错:FATAL: Ipc::Mem::Segment::create failed to shm_open(/squid-cf__metadata.shm): (17) File exists
    ,去/dev/shm目录下删掉squid的shm文件即可。

5、其他:日志在/var/log/squid下,可以在配置文件中加入debug_options ALL,4,进行分析。附几个squid命令:

/usr/local/squid/sbin/squid -z 初始化缓存空间
/usr/local/squid/sbin/squid 启动
/usr/local/squid/sbin/squid -k shutdown 停止
/usr/local/squid/sbin/squid -k reconfigure 重新载入配置文件
/usr/local/squid/sbin/squid -k rotate 轮循日志

squid4的更多相关文章

  1. CentOS 7 Squid代理服务器正向代理-透明代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 透明代理:提供与传统代理相同的功 ...

  2. CentOS 7 搭建Squid代理服务器

    Squid安装 官方地址:http://www.squid-cache.org/ [root@DaMoWang ~]# -r6d8f397.tar.gz [root@DaMoWang ~]# -r6d ...

  3. Linux下自动清理超过指定大小文件的方法

    由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件. ...

  4. 64_s2

    sipwitch-1.9.15-3.fc26.x86_64.rpm 13-Feb-2017 09:19 162822 sipwitch-cgi-1.9.15-3.fc26.x86_64.rpm 13- ...

  5. CDN之多边缘节点负载均衡--学习笔记

    一.剧情 剧情是这样的,本次的多边缘节点负载均衡实验,1个LVS四层负载均衡集群和1个Nginx为反向代理的七层负载均衡集群,由Bind dns解析作为 主负载均衡服务器,调度两个集群,中间层有一台W ...

  6. squid正向代理访问外网

    目录 一.前言 二.Squid安装 三.客户端设置 四.验证 五.Python请求 六.写在最后 一.前言 1)我们可能会碰到这样的需求,客户端Client-1需要访问Server-1,但由于各种各样 ...

随机推荐

  1. mysql 的 3306、33060 端口区别

    Port 3306 is the default port for the MySQL Protocol, which is used by the mysql client, MySQL Conne ...

  2. 基于TCP和UDP的Socket通信

    TCP的Socket通信 TCP是面向连接的,安全的协议,它是一对一的关系 server client 上面只是单个客户端同服务器通信,可使用多线程编程实现多个客户端的通信 UDP的Socket通信 ...

  3. Can总线上的电平及物理层仲裁

    CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信.在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户使用 ...

  4. moya

    https://juejin.im/post/5ac2cf34f265da23a1421483 https://juejin.im/post/5a69e9f9f265da3e290c6782

  5. WHAT IS THE DIFFERENCE BETWEEN REACT.JS AND REACT NATIVE?

    Amit Ashwini - 09 SEPTEMBER 2017 React.js was developed by Facebook to address its need for a dynami ...

  6. Struct Socket详细分析(转)

    原文地址:http://anders0913.iteye.com/blog/411986 用户使用socket系统调用编写应用程序时,通过一个数字来表示一个socket,所有的操作都在该数字上进行,这 ...

  7. 手写spark wordCount

    val conf: SparkConf = new SparkConf().setMaster(Local[*]).setAppName("wordCount") val sc=n ...

  8. Zigzag Iterator II

    Description Follow up Zigzag Iterator: What if you are given k 1d vectors? How well can your code be ...

  9. 在没有符号和FPO的情况下遍历堆栈(帧指针省略)

    下面是应用程序崩溃转储的调用堆栈.报告的崩溃是名为“HelperLibrary”的模块内的访问冲突,我们没有该模块的符号或源代码.调用堆栈看起来不太可能: 0:000> kv ChildEBP ...

  10. benchmarkdotnet docker 运行

    使用docker 运行基准测试是一个不错的选择,可以减少我们环境搭建的时间,同时也可以加速ci/cd 环境准备 docker-compose 文件 version: "3" ser ...