专栏首页bboysoul编译安装squid

编译安装squid

概述

什么是squid,简单的说squid是一款代理缓存软件就是加速网站访问的,国内部分cdn服务用的就是squid,cdn大家应该清楚吧,内容分发网络,cdn的作用也就是为了加速网站在全国各地的访问

工作流程

squid的工作流程是怎么样的呢,我举一个例子,我要请求一个网页,我不是直接向网站的服务器请求的,而是向网站的代理服务器,简单来说就是安装了squid的这台服务器请求数据,这台装着squid的服务器如果有你需要的网站页面的话它会直接发送给你,如果没有,它就会代你去向网站的服务器去请求,当squid服务器请求到数据了之后,它会复制一份道自己这里,然后发一份给你,当你第二次要这些网页的时候,squid会直接把它存的页面发送给你。因为网站的服务器我不可能每一个省都部署一个,但是squid服务器却可以,所以部署squid缓存服务器有降低网站服务器压力和带宽的作用,同时也可以让用户更快得得到自己所需要的网页。

问题

每个东西有利也有弊,当你的网页更新了,但是缓存服务器里的数据还没有更新的时候,问题就出现了,用户请求的网页总是旧的网页。导致不能即使更新网站,所以什么东西适合缓存呢,当然是更新少的东西适合缓存了,比如js,css,图片等,而那些更新快的数据就尽量减少缓存了

编译squid

官网:http://www.squid-cache.org/ 首先下载源码包,我下载的是3.5.27版本的 wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.gz 解压 tar -zxvf squid-3.5.27.tar.gz 接着我的编译参数是

./configure \
--prefix=/usr/local/squid \
--localstatedir=/usr/local/squid/var \
--sysconfdir=/usr/local/squid/etc \
--with-openssl=/root/software/squid/openssl-1.0.2n \
--enable-dlmalloc \
--enable-gnuregex \
--enable-carp \
--enable-async-io \
--enable-storeio=aufs,diskd,ufs \
--enable-icmp \
--enable-delay-pools \
--enable-removal-policies=heap,lru \
--enable-useragent-log \
--enable-referer-log \
--enable-snmp \
--enable-arp-acl \
--enable-htcp \
--enable-ssl \
--enable-cache-digests \
--with-coss-membuf-size=2097152 \
--enable-poll \
--enable-linux-netfilter \
--enable-x-accelerator-vary \
--enable-stacktrace \
--enable-truncate \
--enable-underscores \
--enable-auth

它们的意思是

安装目录/usr/local/squid
缓存日志目录/usr/local/squid/var
配置文件目录/usr/local/squid/etc
指定openssl路径
使用dlmalloc内存分配器
使用gnu正则表达式
使用carp
使用异步io
使用aufs,diskd,ufs存储模块
启用icmp
启用延时池
启用排除策略
激活来自客户的useragent日志
激活来自客户的referer日志
启用snmp
启动arp-acl
启用htcp
启用ssl
启用cache-digests
指定coss内存缓冲大小为2M
启用poll
使用netfilter
启用x-accelerator-vary
启用stacktrace
启用truncate
使主机名可以带下划线
使squid支持所有的验证机制

所以首先我要安装openssl库 下载 wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz 记住解压之后不需要安装,之后在指定openssl路径的编译参数那里加上它的路径就好,还有就是openssl1.1版本是不能使用的,要使用1.0的

接着编译 make -j4 安装 make install

安装完成

欢迎关注Bboysoul的博客www.bboysoul.com Have Fun

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux编译安装apache

    wget http://mirrors.ustc.edu.cn/apache/httpd/httpd-2.4.25.tar.gz tar -zxvf http...

    bboysoul
  • ubuntu下安裝armitage

    armitage是一款使用java写的metasploit图形界面攻击软件,总之因为它是图形化的界面操作,所以可以节省输入很多命令 因为它是java写的,所以...

    bboysoul
  • 使用nvm来管理nodejs的版本

    我以前写过关于Nodejs的版本管理 那个时候使用的是n来管理,但是n会在home目录下创建的安装目录不是隐藏的,所以对于我这个强迫症来说就很烦,所以现在就来...

    bboysoul
  • 视频流媒体播放器EasyPlayer.js截取base64编码快照显示不完整问题解决

    我们不仅研发了很多视频流媒体服务器,对于一些播放器的需求者,我们也有EasyPlayer的视频流媒体播放器可以选择,目前EasyPlayerPro已经支持H26...

    EasyNVR
  • [UWP 自定义控件]了解模板化控件(2):模仿ContentControl

    ContentControl是最简单的TemplatedControl,而且它在UWP出场频率很高。ContentControl和Panel是VisualTre...

    dino.c
  • 任天堂遭史上最严重黑客攻击:完整源代码、设计文档及技术演示泄露

    完整源代码、设计文档,近乎一切用于构建Wii主机的资料,还包括像N64的技术演示。

    量子位
  • 35岁后如何做开发

    程序员在35岁以后,是继续做技术,还是该转向管理?如果选择前者,那么该如何和年轻人竞争呢?

    用户1257393
  • 老司机出品———疯狂造轮子之事件总线的设计思路

    随着公司业务不断地迭代,数据层和UI层不断地下沉,被业务层进行包装,导致数据层想要跟UI层进行通信要经过一层层的带向上抛事件转发给对应的UI层。在重构过程中,我...

    老司机Wicky
  • 力扣题目(两数之和,猜数字大小,1比特与2比特字符)

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    小小咸鱼YwY
  • [译] 精通 Intersection Observer API

    原文:https://www.hweaver.com/intersection-observer-single-page-navigation/

    江米小枣

扫码关注云+社区

领取腾讯云代金券