一、编译安装

下载

#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

Squid3反向代理安装与配置相关推荐

  1. nginx https透明代理_Nginx反向代理https,配置lets-encrypt证书教程

    前言 本站也终于迁移到https了,由于全Docker部署,迁移过程中真是艰难无比(wordpress那块被折腾的想放弃了),也欢迎访问本人博客,(知乎的排版有些乱) Nginx反向代理https,配 ...

  2. 【五、反向代理及其相关配置】

    文章目录 反向代理及其相关配置 1.反向代理 2.正向代理 3.网关 4. Nginx做反向代理的缺点 5.反向代理配置 1.跳转到外网网站上 2.跳转到本机服务器上 反向代理及其相关配置 1.反向代 ...

  3. 2022年4月10日记:Linux服务器开发,King,Nginx反向代理与系统参数配置conf原理

    Nginx反向代理与系统参数配置conf原理 前言 nginx成功开源的原因: nginx三个可控入口: 惊群 总结 前言 今天学习Nginx反向代理,可以说是慕名而来.从整体上看,我对Nginx的了 ...

  4. nginx反向代理原理及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  5. Nginx反向代理与系统参数配置conf

    文章目录 一. nginx介绍 二. nginx的安装和配置 使用nginx必备安装的库 1.PCRE库的安装和编译 2.zlib库的安装和编译 3.OpenSSL开发库的安装和编译 nginx的编译 ...

  6. nginx反向代理模块配置详解_nginx反向代理原理及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  7. nginx+tomcat 反向代理 负载均衡配置

    1.nginx的安装和配置见:http://www.cnblogs.com/ll409546297/p/6795362.html 2.tomcat部署项目到对应的服务器上面并启动,不详解 3.在ngi ...

  8. kbengine 的 nginx反向代理https/wss 配置 支持kbe负载均衡

    微信开发要求 必须用https 和 wss连接, 这里给出nginx反向代理配置, 自己使用一切正常,希望能帮助大家.域名一定要在微信开发后台设置,不然连接不上, 域名要备案,不然 审核不通过. ng ...

  9. Nginx反向代理Tomcat的配置方法

    一.Nginx安装 下载nginx源安装包 http://nginx.org/en/linux_packages.html 找到对应Linux版本的连接,这里选CentOS 6,右击复制链接地址&qu ...

最新文章

  1. vue防抖和节流是什么_防抖和节流为什么重要!!!
  2. abb变频器电机过热保护怎么复位_变频器驱动的电机过热该怎么办
  3. Swift - 获取、改变按钮的标题文本(UIButton点击切换title)
  4. RenderHogs for Mac(ae禁用不必要的图层和效果提高渲染预览速度插件)
  5. php狼和兔子算法,PHP基于递归算法解决兔子生兔子问题php技巧
  6. sqlite中字符串含有单引号的处理
  7. Mybatis学习笔记(二) 之实现数据库的增删改查
  8. ngrok实现内网穿透
  9. 高级商务办公软件应用【6】
  10. 手把手教你学习汇编语言——从入门到起飞
  11. 【Orientation】详解Android中的屏幕方向
  12. 个人博客网站编写(01)
  13. Unity3d--GUI自适应矩阵(通过Matrix4x4.SetTRS)
  14. 做题遇到的trick和想法
  15. 使用librosa库实现100行代码制作音乐卡点视频
  16. Terraform 和 Oracle Cloud Infrastructure
  17. PotPlayer:当前音频无法播放。DirectX 驱动程序未正确安装或音像设备被禁用的解决办法
  18. mysql数据库实体_关系型数据库中实体之间的关系
  19. 搭建FTP报错:Job for vsftpd.service failed because the control process exited with error code. See
  20. 去除.gif图片中的文字

热门文章

  1. mysql查询重复名字的数据都查出来_mysql查出重复的所有数据
  2. js 多维数组长度_C++申请与释放动态数组1(学习笔记:第6章 16)
  3. Python访问街区10个点,并俩俩绘制一条线,得到5条线,求最短的距离和?
  4. ES单字段支持的最大字符数
  5. gltf与glb格式转换 gltf-pipeline、binary-gltf-utils
  6. Linux(Nginx)+Java SpringBoot视频微服务搭建
  7. Eigen(1):Matrix模板类
  8. 读后感与机翻《理解工具:面向任务的对象建模、学习和识别》
  9. keras 的 example 文件 mnist_net2net.py 解析
  10. Linux那些事儿 之 戏说USB(13)接口是设备的接口(二)