文档章节

Squid学习笔记

香胖
 香胖
发布于 2015/12/04 15:42
字数 1240
阅读 881
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1、部署 

    编译安装(以下编译安装参数适用Squid-3.0-stable20 

./configure --prefix=/usr/local/squid --enable-async-io=100 --with-pthreads --enable-storeio="ufs,aufs,diskd" --enable-removal-policies="heap,lru" --enable-icmp --enable-delay-pools  --enable-useragent-log --enable-regerer-log --enable-kill-parent-hack --enable-cachemgr-hostname=localhost  --enable-arp-acl --enable-default-err-language=English  --enable-err-languages="Simplify_Chinese English" --disable-poll --disable-wccp --disable-wccpv2 --disable-ident-lookups  --disable-internal-dns --enable-basic-auth-helpers="NCSA" --enable-stacktrace --with-large-files  --disable-mempools --with-filedescriptors=65536 --enable-ssl --enable-x-accelerator-vary --disable-snmp  --with-aio --enable-linux-netfilter --enable-linux-tproxy

make && make install

 

Squid编译安装参数说明

  • –prefix=/usr/local/squid :指定软件的安装路径

  • –enable-gnuregex :支持GNU正则表达式。

  • –disable-carp: Cache数组路由协议(CARP)用来转发丢失的cache到父cache的数组或cluste

  • –enable-async-io=240等同于同时打开./configure如下三个选项

  • --with-aufs-threads=N_THREADS

  • --with-pthreads

  • --enable-storeio=ufs,aufs

  • 这个主要是设置async模式来运行squid,我的理解是设置用线程来运行squid,如果服务器配置很不错,有1G以上内存,cpu使用SMP的方式的话可以考虑设成160或者更高。如果服务器比较糟糕就根据实际情况设了。另外此项还另cache文件支持aufs

  • --disable-wccp用于阻止或分发HTTP请求到一个或多个caches

  • –enable-icmp :加入icmp支持

  • –enable-kill-parent-hack :关掉suqid的时候,要不要连同父进程一起关掉

  • --enable-cachemgr-hostname=localhost:指定cachemgr-hostname值为localhost

  • -- enable-snmp :此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测,因此必须选择此项,使Squid支持SNMP接口。

  • –disable-ident-lookups :防止系统使用RFC931规定的身份识别方法。

  • --enable-delay-pools 开启squid延时池功能

  • –enable-cahce-digests :加快请求时,检索缓存内容的速度。

  • –enable-err-language=”Simplify_Chinese” 和

  • –enable-default-err-languages=”Simplify_Chinese” :指定出错是显示的错误页面为简体中文

  • --with-maxfd=65535指定最大文件描述

  • –enable-poll :指定使用Poll()函数,提升性能就是啦。

  • --disable-ident-lookups允许服务器利用客户端的特殊TCP连接来发现用户名

  • –enable-linux-netfilter :可以支持透明代理

  • --enable-large-cache-files开启大文件支持,支持2GB以上的文件

  • --disable-internal-dns使用自己的内部DNS查询

  • –enable-underscore :允许解析的URL中出现下划线,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址

  • –enable-arp-acl :可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。

 

 

2、配置

   创建squid用户

    useradd squid -M -s /sbin/nologin

  

   修改SQUID用户及用户组,并开启cache_log和cache_store-log(access_log默认开启)

  

        

        打开cache_dir

  

 

[root@asling-206 etc]# sed '/^#/d;/^$/d' squid.conf
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80  # http
acl Safe_ports port 21  # ftp
acl Safe_ports port 443  # https
acl Safe_ports port 70  # gopher
acl Safe_ports port 210  # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280  # http-mgmt
acl Safe_ports port 488  # gss-http
acl Safe_ports port 591  # filemaker
acl Safe_ports port 777  # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
htcp_access allow localnet
htcp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
cache_dir ufs /usr/local/squid/var/cache 100 16 256
access_log /usr/local/squid/var/logs/access.log squid
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
refresh_pattern ^ftp:  1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern .  0 20% 4320
cache_effective_user squid
cache_effective_group squid
icp_port 3130
coredump_dir /usr/local/squid/var/cache
[root@asling-206 etc]# sed '/^#/d;/^$/d' squid.conf
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80  # http
acl Safe_ports port 21  # ftp
acl Safe_ports port 443  # https
acl Safe_ports port 70  # gopher
acl Safe_ports port 210  # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280  # http-mgmt
acl Safe_ports port 488  # gss-http
acl Safe_ports port 591  # filemaker
acl Safe_ports port 777  # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
htcp_access allow localnet
htcp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
cache_dir ufs /usr/local/squid/var/cache 100 16 256
access_log /usr/local/squid/var/logs/access.log squid
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
refresh_pattern ^ftp:  1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern .  0 20% 4320
cache_effective_user squid
cache_effective_group squid
icp_port 3130
coredump_dir /usr/local/squid/var/cache

 

配置visible_hostname asling-206

 

配置cache_mgr xxxx@xxxx.com

 

 

 squid3种日志:cache.log access.log cache_store_log

 cache.log包含多种信息,例如squid的配置信息、性能警告以及严重错误,程序运行主要的错误和异常条件最可能报告在cache.log里面

 在维护多个squid主机时,建议使用syslog来管理记录,配置主机的syslog进程转发到日志主机,在/etc/syslogd.conf里使用如下接口:

    local4.notice     @192.168.0.88

 store.log主要记录squid关于存储或者删除cache目标的决定,它既包含内存cache又包含磁盘cache,该日志对于运维来说作用不大,主要是可以通过它来分析客户端访问的数据是否被缓存,它包含了进入和离开缓存的每个目标的记录。可以通过定向到/dev/null来关闭。

    ache_store_log /dev/null

 

 

3、squid访问控制:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

上一篇: MySQL学习笔记
香胖
粉丝 0
博文 40
码字总数 20679
作品 0
苏州
私信 提问
Linux学习笔记

apache的虚拟主机加密和apache的网页重写 配置基础的虚拟主机获取加密认证 (虚拟主机news.westos.com) cd /etc/httpd/conf.d vim news.conf Servername news.westos.com Documentroot /va...

zirui郭
2016/12/14
0
0
Varnish Cache 的架构笔记

当你接触到Varnish源码,你就会发现Varnish并不是你的那些常见的普通的应用。 这绝不是偶然。 在FreeBSD内核方面我花费了好多年时间,极少有闯入用户空间编程的时候,但是当我有这样的机会时...

run_mei
2013/09/26
4.7K
8
R 学习笔记《六》 R语言初学者指南--访问变量、处理数据子集

注意:关闭R之前务必保存工作空间,保证学习的连续性。这样以前数据的控制台命令执行的效果以及相关变量仍然保存在内存中。 1 访问数据框变量 建议:在read.table命令执行names查看要处理的变...

varlardoha
2013/01/17
9.5K
0
使用curl提交post请求到服务器被squid代理拦截

原文地址:http://dade.io/archives/25/ 做网盘,上传文件到服务器时(服务器使用squid做代理),遇到下面的错误提示: 百思不得其解,查看PHP文档时,笔记中发现如下说明: Sending a post...

大德
2013/10/18
1K
0
R 学习笔记《四》 R语言初学者指南--载入数据

解压下载的数据到:E:RR-beginer-guidedataRBook 在R控制台执行: > Squid <- read.table(file = "E:/R/R-beginer-guide/data/RBook/squid.txt",header=TRUE) > Squid Sample Year Month Lo......

varlardoha
2013/01/16
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

CountDownLatch、Semaphore等4大并发工具类详解

Java并发工具包 1.并发工具类 提供了比synchronized更加高级的各种同步结构:包括CountDownLatch、CyclicBarrier、Semaphore等,可以实现更加丰富的多线程操作。 2.并发容器 提供各种线程安全...

Java阿七
1分钟前
2
0
general-biz使用教程

general-biz使用教程 1. 技术目标 简化biz层基础业务开发,实现单表基础业务代码简洁易读,通过注解方式实现基础业务实现类托管,项目启动时动态生成,和动态加载到spring容器中。 2. 下载地...

sharelords
19分钟前
3
0
源码分析Kafka 消息拉取流程(文末两张流程图)

本节重点讨论 Kafka 的消息拉起流程。 @TOC 1、KafkaConsumer poll 详解 消息拉起主要入口为:KafkaConsumer#poll方法,其声明如下: public ConsumerRecords<k, v> poll(final Duration t...

中间件兴趣圈
23分钟前
3
0
如何在Java中创建通用数组?

由于Java泛型的实现,因此不能有以下代码: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array crea......

javail
28分钟前
4
0
redis数据类型/键值/服务常用操作、安全设置

Redis数据类型和常用操作 Redis有5中数据类型,分别是string(字符串)、list(链表)、set(集合)、sorted set(有序集合)、hash(哈希) 1.string string为最简单的类型,与Memcached一样,一个key...

asnfuy
39分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部