linux中Ziproxy图像压缩配合Squid3实现缓存加速

Ziproxy 可以压缩图像转换到低质量JPEG文件或JPEG 2000和压缩( gzip或) HTML和其他文字样的数据。同时它还提供 HTML/CSS/JS 的优化,主动的主机名称解析,透明代理等。

Ziproxy 适合在以下情况下使用:

ISPs 提供拨号服务
ISPs 提供移动互联网服务
HTTP WAN 优化
低带宽或者点对点连接

假设你已经安装好Squid3并配置好防火墙,接下来我将简单介绍一下Ziproxy的安装部署过程。

1. 通过apt-get安装Ziproxy:

 代码如下 复制代码
sudo apt-get install ziproxy

2. 修改ziproxy.conf配置Ziproxy:

 代码如下 复制代码
sudo nano /etc/ziproxy/ziproxy.conf

分别找到以下选项并修改如下:

 代码如下 复制代码
Port = 8080
Address = "127.0.0.1"
TransparentProxy = false
ConventionalProxy = true
UseContentLength = false
ImageQuality = {30,25,25,20}

3. 修改squid.conf配置squid3:

 代码如下 复制代码

sudo nano /etc/squid3/squid.conf
acl Safe_ports port 80
acl Safe_ports port 8080   # 添加这行

http_port 3128

cache_peer 127.0.0.1 parent 8080 7 no-query  # 添加这行
never_direct allow all  # 添加这行4. 重启Ziproxy和Squid3:

sudo service ziproxy restart
sudo service squid3 restart

到这里我们就配置完成了,实际图像压缩还是有效果的,但是我发现两个问题,一是图像压缩略耗费CPU资源,树莓派明显有点吃力,这样导致图片显示延迟;二是配置场景不对,这种压缩是为了节约带宽资源从而实现在低带宽网络环境中传输数据的,我的树莓派和电脑是局域网直连接,不存在低带宽的问题,这个功能纯属多余。

还有一点需要注意的是,如果squid3的配置写成:

cache_peer localhost parent 8080 7 no-query即127.0.0.1被写成了localhost,在我的树莓派上会显示如下错误:

错误
您所请求的网址(URL)无法获取
------------------------------------------------------
当尝试读取下面的网址(URL)时:
发生了下列的错误:
Unable to forward this request at this time.
目前无法将您的请求进行转送操作
This request could not be forwarded to the origin server or to any parent caches. The most likely cause for this error is that:
The cache administrator does not allow this cache to make direct connections to origin servers, and
All configured parent caches are currently unreachable.
您的请求无法被转送到原始网络服务器或其他的上层缓存服务器,发生这个问题最可能的原因是:
缓存服务器管理员不允许本服务器与原始网络服务器直接连结,而
所有本服务器指定的上层缓存服务器都暂时无法连结。写成127.0.0.1就没有这个问题了,具体原因未知。

时间: 2025-01-26 15:52:32

linux中Ziproxy图像压缩配合Squid3实现缓存加速的相关文章

linux中利用shell定时清理网站缓存数据脚本

经过测试,脚本不成立!! 网站采用了一些方法进行加速(redis\cdn),这样就降低用户访问后端mysql的压力.以及前端速度不太好的问题,对用户请求到的所有页面进行了缓存,既然数据缓存了,解决用户看到的页面是否为最新页面就提上日程,下面这个脚本就诞生了.嘿嘿... Shell #!/bin/bash # Author:Byrd # Version:0.1 # Contact:root#t4x.org # define category for category in basic code d

Linux中VIM的使用

set命令 :set ic  搜寻时忽略大小写 (ic:ignore case) :set noic  搜寻时不忽略大小写 :set number   显示行号 :set nonumber   不显示行号 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则

linux中rsync异步服务器实现文件同步与备份

  Rsync 非常适合在两台机器之间快速同步大型.复杂的目录,例如论坛的附件目录.再配合 ssh ,则安全性也有保证,且可以利用 ssh public key 和 cron 来进行自动定时同步. 说明:两台机器分别为 localhost 和 remotehost ;用户分别为 localuser 和 remoteuser. 环境:FreeBSD 4.9 和 FreeBSD 6.1  代码如下   设置 ssh public key 认证 $ssh-keygen -t dsa -b 2048 生

如何在Linux中恢复一个删除了的文件

你曾经是否遇到这样的事?当你发现的时候,你已经通过删除键,或者在命令行中使用 rm 命令,错误的删除了一个不该删除的文件. 在第一种情况下,你可以到垃圾箱,搜索那个文件,然后把它复原到原始位置.但是第二种情况又该怎么办呢?你可能知道,Linux 命令行不会把删除的文件转移到任何位置,而是直接把它们移除了,biu~,它们就不复存在了. 在这篇文章里,将分享一个很有用的技巧来避免此事发生.同时,也会分享一个工具,不小心删除了某些不该删除的文件时,也许用得上. 把删除创建为 rm -i 的别名 当 -

如何在 Linux 中恢复一个删除了的文件

你曾经是否遇到这样的事?当你发现的时候,你已经通过删除键,或者在命令行中使用 rm 命令,错误的删除了一个不该删除的文件. 在第一种情况下,你可以到垃圾箱,搜索那个文件,然后把它复原到原始位置.但是第二种情况又该怎么办呢?你可能知道,Linux 命令行不会把删除的文件转移到任何位置,而是直接把它们移除了,biu~,它们就不复存在了. 在这篇文章里,将分享一个很有用的技巧来避免此事发生.同时,也会分享一个工具,不小心删除了某些不该删除的文件时,也许用得上. 把删除创建为 rm -i 的别名 当 -

Linux 有问必答:如何在Linux中修复“fatal error: lame/lame.h: No such file or dir

Linux 有问必答:如何在Linux中修复"fatal error: lame/lame.h: No such file or dir 提问: 我尝试着在Linux中编译视频编码器,但是编译提示出错:"fatal error: lame/lame.h: No such file or directory", 我该如何修复这个错误? 下面的编译错误说明你的系统没有安装LAME库和它的开发文件. fatal error: lame/lame.h: No such file or

在linux中添加字体

第一步:将windows下喜欢的字体文件copy到一个文件夹中,例如将XP里WINDOWS/FONTS中的字体文件,然后上传到linux服务器上,在linux中命名为xpfonts. 第二步:将copy到的字体文件夹copy到系统字体文件夹中并且修改权限 cp {存放xpfonts的路径}/xpfonts   /usr/share/fonts/ chmod u+rwx /usr/share/fonts/xpfonts/* 第三步:建立字体缓存 cd /usr/share/fonts/xpfont

如何在 Linux 中根据国家位置来阻断网络流量

如何在 Linux 中根据国家位置来阻断网络流量 作为一名维护 Linux 生产服务器的系统管理员,你可能会遇到这样一些情形:你需要根据地理位置,选择性地阻断或允许网络流量通过. 例如你正经历一次由注册在某个特定国家的 IP 发起的 DoS 攻击:或者基于安全考虑,你想阻止来自未知国家的 SSH 登录请求:又或者你的公司对某些在线视频有分销权,它要求只能在特定的国家内合法发行:抑或是由于公司的政策,你需要阻止某个本地主机将文件上传至任意一个非美国的远程云端存储. 所有的上述情形都需要设置防火墙,

c语言基础-C语言问题,关于如何把window下编程 变成Linux中的换行

问题描述 C语言问题,关于如何把window下编程 变成Linux中的换行 本机运行正确, 但是wrong answer. 个人认为应该是 的问题,求大神指点 C语言问题,关于如何把window下编程 变成Linux中的换行 Description 给出一个字符串str和一个字符ch,如果字符串str含有字符ch,就从该字符首次出现的位置开始,输出字符串中的字符至结束.如果字符串str不含字符ch,则输出"Not Found".(注意首字母大写) Input 多测试用例. 每个测试用例