Squid3反向代理安装与配置
一、编译安装
下载
#wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz //找到地址
#tar zxvf squid-3.0.STABLE25.tar.gz //稳定版
#cd squid-3.0.STABLE25
#./configure --prefix=/usr/local/squid / //必须
//以下几步可选
--enable-arp-acl /
--enable-linux-netfilter /
--enable-pthreads /
--enable-err-language="Simplify_Chinese" /
--enable-default-err-language="Simplify_Chinese" /
--enable-underscores /
--disable-internal-dns /
--enable-pf-transparent /
--enable-referer-log
//编译必须
#make
#make install
注:--enable-internal-dns 做多个网站反向代理时使用,允许使用内部dns,也可改/etc/hosts
====================================================
二、初始化
#adduser squid
#addgroup squid
#mkdir /usr/local/squid/var/cache
#mkdir /usr/local/squid/var/logs
#chown -R squid:squid /usr/local/squid/var/cache //默认nobody运行
#chown -R squid:squid /usr/local/squid/var/logs
#squid -z //初始化cache目录 #squid -zX 可查看初始化过程
如果不行可以用 ./squid -z
在/etc/hosts中:加入内部的DNS解析,比如:
192.168.1.65 www.squid.com
#whereis squid #可以查看squid主要文件装到什么地方去了
四、创建缓存目录
#/usr/local/squid/sbin/squid –z
//要看到命令行建立cache 下00 01等目录才算成功
启动squid
#/usr/local/squid/sbin/squid start
重动squid
#/usr/local/squid/sbin/squid restart
停止squid:
#/usr/local/squid/sbin/squid -k shutdown
使用新配置启动:
#/usr/local/squid/sbin/squid -k reconfigure
通过crontab每天0点截断/轮循日志:
0 0 * * * (/usr/local/squid/sbin/squid -k rotate)
可以用以下命令寻找已经缓存的文件
#cd /usr/local/squid/var/cache
#find -type f |xargs ls –l
补充说明
端口使用情况:
apache 81
squid 80
这样设置的原因是方便squid直接拦截客户端发来的http请求。如果不更改apache默认的80端口,squid设置其他可用端口时,例如3128,需要将80请求转发到3128,命令如下:
#iptables -t nat -A PREROUTING -s 192.168.1.65 -p tcp --dport 80 -j REDIRECT 3128
注:此命令必须每次开机后运行,可以写成开机执行任务脚本
所以,本人感觉修改apache端口比较简单,修改步骤:
#vim /usr/local/apache/conf/httpd.conf
修改:Listen 81
如有虚拟主机设置,则还需要修改虚拟主机配置:
#vim /usr/local/apache/conf/extra/httpd-vhosts.conf
修改:NameVirtualHost *:81
<VirtualHost *:81>
三、配置/usr/local/squid/etc/squid.conf
#vim /usr/local/squid/etc/squid.conf
(4700多行配置….. 大多是注释,不管它,光标移到最后加入以下配置)
#==============================cut here===================================
# 主机名(3.0加入配置),无此项无法启动
visible_hostname www.squid.com
# 管理员邮箱,会显示在错误信息页面上,方便发生错误时联系!
cache_mgr root@localhost.localdomain
# 实现透明代理(squid2.7以上),其中vhost是必须的
http_port 3128 vhost vport
# 缓存设置
cache_mem 256 MB
maximum_object_size_in_memory 2 MB
# 替换机制(lru叫做“最近不常用的单元”unit一般就是常说object, 也就是当cache
# 中的内容比如内存或硬盘达到上限时就需要进行数据的换进和换出工作)
memory_replacement_policy lru
# 缓存目录512M,其中一级目录16个,二级256个(每个一级下16个二级)
cache_dir ufs /usr/local/squid/var/cache 512 16 256
max_open_disk_fds 0
#缓存内容大小控制,当cache目录被占用到97%时,内容将被清空20%
cache_swap_low 80
cache_swap_high 97
# 错误信息目录
error_directory /usr/local/squid/share/errors/Simplify_Chinese
# 最大和最小缓存对象
minimum_object_size 0 KB
maximum_object_size 30 MB
# 日志格式
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
access_log /usr/local/squid/var/logs/page_zs_access_log combined
pid_filename /usr/local/squid/var/logs/squid.pid
# 不记录store.log
cache_store_log none
# 指定代理服务器IP,2.5版本以上都是以cache_peer指定
# 需要将apache端口改成81(包括其虚拟机端口<这里最后补充说明>)
cache_peer 127.0.0.1 parent 81 0 no-query no-digest originserver name=www
cache_peer_domain www www.squid.com
cache_peer_access www allow all
# 允许客户端所有请求(这里可以设置拦截url,格式如下面两行缓存设置)
http_access allow all
# 设置不缓存url类型(空格隔开)
acl QUERY urlpath_regex .php .jsp .asp .pl .cgi
cache deny QUERY
#设置运行squid用户,一般不能以root运行
cache_effective_user squid
cache_effective_group squid
#==============================cut here================================
#测试命中率 可以参考另一篇博客http://blog.csdn.net/21aspnet/archive/2011/06/29/6575681.aspx
根目录下 #/usr/local/squid/bin/squidclient -p 3128 mgr:info
相关文章:

ServiceStack OrmLite 数据库查询 几个实用方法 (继承表格式化集合等)
执行SQL语句:int result db.SqlScalar<int>("SELECT OBJECT_ID(name)", new { name "SomeName" });继承表的实现 (存储于同一个表中)[Alias("Table")] public abstract class MyBaseClass {public…

Deepsort + Yolo 实现行人检测和轨迹追踪
作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 引言 行人检测是近年来计算机视觉领域的研究热点,同时也是目标检测领域中的难点。其目的是识别和定位图像中存在的行人,在许多领域中都有广泛的应用。交通安全方面,无人驾驶汽车通过提前…

推荐15个国外使用 CSS3 制作的漂亮网站
今天分享的作品集网站有些特别,因为他们都是使用 CSS3 技术制作的。对于设计师来说,为了吸引注意力,作品集必须展示出你的能力,这有点像制作简历,要让人们看到你所擅长的,突出的部分,这是一次推…
7_2判断两个单链表是否相交,若相交,求出第一个交点
转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4251372.html 声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,…

对抗软件系统复杂性①:如无必要,勿增实体
作者 | 袁进辉 我们经常面临如何评价一个大型软件系统质量的问题。首要的评价指标肯定是功能,软件是否满足主要的需求(do right things)。如果有多条技术路径可以实现同样的功能,人们倾向于选择更简单的办法。奥卡姆剃刀准则“如无必要,勿增实…

修改squid的Header中的X-Cache为Powered-By-LinuxTone
今天分析别人网站的时候,注意到国内的chinacache服务商的CDN加速,把squid默认的X-Cache修改为Powered-By-ChinaCache,如下图:以前注意了但是没去研究过,今天刚好有点空挡自己就来研究看看。我的squid版本:s…

NginxApachePHP参数汇总
1、Nginx vim /etc/nginx/conf.d/www.cmdschool.org.conf 12345678910111213client_max_body_size 30m; //上传文件大小改30M upstream www.cmdschool.org { server 10.168.82.25:87; ip_hash; } server { listen 80; server_name www.cmdschool.org; location / { proxy_pass …

android Intent PendingIntent的区别
含义:intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。…

Squid如何提高命中率
缓存命中1.缓存时间设置,顾名思义,缓存时间设置的越长那么命中率也会相对较高。缓存与更新是一对矛盾的概念,既要做到高命中又要做到快速更新这个就需要自己对自己网站内容的了解然后指定合适的缓存策略。2.缓存能缓存的内容,什么…

海量秋招面试资料等你来拿!你离大厂也许并不远
秋招在即,你还在为秋招如何准备而发愁吗?你还在为拿不到大厂offer而苦恼吗?工欲善其事,必先利其器。金秋开学季,CSDN助力你的技术学习与成长,为你免费提供海量大厂面试资料,让你的秋招不再慌乱&…

Microsoft Dynamics CRM server 2013 中业务规则,有点像C#的正则表达式
Microsoft Dynamics CRM server 2013 中业务规则,我的理解就是有点像C#的正则表达式, 如方某个字段,必须输入什么范围的数值,其它字符不能乱输入。 打开方式有二种: 1. 种像上篇文章中写的那样, 在系统视图…

cCodeforces Round #286 (Div. 2)
A题。。暴力枚举在每个位置添加字符,然后检查一下是不是回文串 1 #include <iostream>2 #include <cstdio>3 #include <cstring>4 #include <algorithm>5 #include <cmath>6 #include <vector>7 8 using namespace std;9 10 #…

Sarg安装配置使用
SARG的全称是:Squid Analysis Report GeneratorSARG作为一款Squid日志分析工具,它采用html格式,详细列出了每一位用户访问internet的站点信息,时间占用信息,排名,连接次数,访问量,访…

OpenAI 以 10 亿美元出售「灵魂」,网友热评不再「Open」
编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) OpenAI 如何以 10 亿美元的价格出售其灵魂:GPT-3 和 Codex 背后的公司并不像它声称的那样开放。 当金钱成为障碍时,最好的意图可能会被破坏。 近日,一篇“How Open…

IBM IMM默认ID 及修改默认IP 方法
默认ID: http://192.168.70.125 用户名:USERID 密码:PASSW0RD (数字0) BIOS 下更改IP方法:(另一种可进IMM 进行修改,此处不再介绍) 本文转自easy80851CTO博客,原文链接:http://blog.51cto.com/6…

squid 优化指南
很多squid 优化只限于在 squid参数和系统参数上面的调整。但是这个实在只是细枝末节的事情,只要不是太弱智的配置导致无法缓存,squid的性能不会有太大差距,也就提高10%左右,只有实际的业务针对squid 进行一些调整,squi…

Android TextView
2019独角兽企业重金招聘Python工程师标准>>> 1、TextView不用获取焦点也能实现跑马灯 public class MarqueeTextView extends TextView { Override protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { if(focused) …

人脸识别模型的动手实践!
作者:宋志龙 来源:Datawhale人脸识别已经成为生活中越来越常见的技术,其中最关键的问题就是安全,而活体检测技术又是保证人脸识别安全性的一个重要手段,本文将向大家简单介绍活体检测,并动手完成一个活体检…

Pyqt5学习系列
最近在学习Pyqt5做界面,找到了一个非常棒的博主的学习系列 在此记录下来: http://blog.csdn.net/zhulove86/article/category/6381941

编程方式刷新Squid缓存服务器的五种方法
网站进行内容更新是常有的事情,当被缓存的资源更新时,前端Squid 缓存服务器内容也必须要相应的更新,否则用户就可能会看到过期的数据。当没有程序支持时就需要每次登录到服务器上执行刷新操作,在服务器数量小的的时候这种方式还可…

Android 实时文件夹
实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件。要创建一个实时文件夹,必须要有两个方面的支持。 1,要定义一个用来创建实时文件夹的Activity。 2,所指定数据信息URI的ContentProvider必须支持实时文件夹时文件夹查…

《新程序员002》图书正式上市! 从“新数据库时代”到“软件定义汽车”
20年前,伴随着互联网打开信息化大门,技术人成为新时代的开拓者。在时代的召唤下,CSDN于2001年推出国内首个面向IT人员的专业杂志——《程序员》,成为一代代开发者的技术启蒙。20年后的今天,人工智能、云计算、大数据等…

Xtrabackup bug记录
xtrabackup 2.1.2 2.1.3 均出现以下问题: 123xtrabackup: warning: Log block checksum mismatch (block no 191401143 at lsn 3946288081920):expected 800836998, calculated checksum 800832263xtrabackup: warning: this is possible when the log block has n…

RHEL5上配置VNCSERVER
VNC一个远程显示系统,管理员通过它不仅仅可以在运行程序的本地机上察看桌面环境,而且可以从 Internet上的任何地方察看远程机器的运行情况,而且它具有跨平台的特性。 Linux 要使用远程桌面需要安装VNC,Centos5,RHCE5 已经自带了VN…

勒索软件层出不穷,Veeam “3-2-1-1-0”助力构建数据防护
随着 AI、IoT、云原生等前沿技术的发展,近年来勒索病毒的攻击手段不断升级,赎金也越来越高:例如今年美国最大燃油管道受攻击导致美国17个州和华盛顿特区进入紧急状态,2020 年 Ripple20 0day 漏洞曝光,波及数亿台联网设…

大数据架构和模式(一)——大数据分类和架构简介
概述 大数据可通过许多方式来存储、获取、处理和分析。每个大数据来源都有不同的特征,包括数据的频率、量、速度、类型和真实性。处理并存储大数据时,会涉及到更多维度,比如治理、安全性和策略。选择一种架构并构建合适的大数据解决方案极具挑…

Windows 7 开发新特性
10月25日在西安举行的Windows 7 社区发布活动中我讲了Session1 -- Windows 7 概览。参会的人员达到62人,这个参加人数超过了我的预期,非常开心. 主要讲了一下内容: 一 构建于稳固的基础平台 1 . 改进的基础平台 兼容性: 兼容基于Windows Vista构建的应用程序与设备 …

GitHub 的 AI 编程工具漏洞高达 40% ,再次陷入争议……
整理 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 在近日发表的一篇论文中,研究人员对 GitHub Copilot 人工智能编程辅助工具进行了深入调查。结果发现,仍处于测试预览阶段的 Copilot 具有高达 40% 的错误代码率,意味…

centos中mysql重置密码
1 . 用空密码方式使用root用户登录 MySQL; mysql -u root 2. 修改root用户的密码; mysql> update mysql.user set passwordPASSWORD(’新密码’) where User’root’; mysql> flush privileges; mysql> quit 3. 重新启动MySQLÿ…

Centos 内存占满 释放内存
2019独角兽企业重金招聘Python工程师标准>>> 一台服务器,今天用 free -m 查看,发现内存跑满了。 再 top,然后按下shiftm,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,…