squid-3.0.STABLE21 安装配置 by lbj

作用:作为反向代理/缓存服务器

系统:redhat linux 企业版 5.4

  1. linux 要有gcc编译器,使用squid-3.0.STABLE21版本
  2. 查询指令
    ulimit -n
    vi /proc/sys/fs/file-max
    vi /proc/sys/net/ipv4/ip_local_port_range
  3. 配置指令
    ulimit -HSn 65536
    echo 8192 > /proc/sys/fs/file-max
    echo "1024 40000" > /proc/sys/net/ipv4/ip_local_port_range
  4. 需要将ulimit -HSn 65536设置在/etc/rc.d/rc.local中,防止重启后失效, 花费时间来增加这个限制值的大小。否则,squid在高负载时执行性能将很低。
  5. 将语言包的zh-cn所有ERR文件拷贝到 ../squid-3.0.STABLE21/errors/Simplify_Chinese
  6. 编译指令
    # ./configure --prefix=/usr/local/squid3 --disable-internal-dns --enable-err-languages="Simplify_Chinese" --enable-default-err-languages="Simplify_Chinese"
  7. 安装
    [root@localhost squid-3.0.STABLE21]# make
    [root@localhost squid-3.0.STABLE21]# make install
  8. 改变目录权限
    chmod -R 777 /usr/local/squid3/var/
  9. 创建cache空间
    Creating Swap Directories,Making directories in /usr/local/squid3/var/cache/00
    /usr/local/squid3/sbin/squid -z
  10. 检查squid.conf的配置
    ./squid - k parse
  11. 启动squid
    ./squid -N -d1
  12. 将squid以后台进程运行
    ./squid -s
  13. 发送关闭squid进程的信号
    ./squid -k shutdown
  14. -k function
    指示squid执行不同的管理功能。
    reconfigure, rotate, shutdown, interrupt, kill, debug, check, or parse. reconfigure导致运行中的squid重新读取配置文件。
    rotate导致squid滚动它的日志,这包括了关闭日志,重命名,和再次打开它们。
    shutdown发送关闭squid进程的信号。
    interrupt立刻关闭squid,不必等待活动会话完成。
    kill发送KILL信号给squid,这是关闭squid的最后保证。
    debug将squid设置成完全的调试模式
    check简单的检查运行中的squid进程,返回的值显示squid是否在运行。
    parse简单的解析squid.conf文件,如果配置文件包含错误,进程返回非零值。
  15. 强制关闭squid进程
    ps -A | grep squid
    kill -9 id
  16. 配置要点
    acl QUERY urlpath_regex -i cgi-bin /? /.jsp /.asp /.php /.cgi /.aspx
    cache deny QUERY
    默认区分大小写,-i参数表示不区分大小写

    #logfile_rotate 8
    0-8 共9个log
    通过squid -k rotate命令轮转日志

    strip_query_terms off
    解决http://www.jackbillow.com/xxx.php?codetin=pig
    ?后边丢失问题

  17. 我的配置文件squid.conf
    配置文件中使用外部dns,因此./configure时要带--disable-internal-dns 参数
    同时因为使用了外部dns,因此需要保证squid服务器能够访问你所设置的dnsnameserver.若作为内网使用,应修改
    TAG: dns_testnames字段项,默认指向互联网的微软服务器等,克改为可以访问的域名
    配置中不明白的地方请参阅squid权威指南.特别注意squid2.X版本和3.X版本的不同之处

    # WELCOME TO SQUID 3.0.STABLE21----server 192.168.3.10 by libingjin edit
    # -----------------------------------------------------------------------------

    # ACCESS CONTROLS
    # -----------------------------------------------------------------------------
    # --TAG: acl
    # --Default:
    # --acl all src all
    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 mylan1 src 192.168.1.0/24
    acl mydmz3 src 192.168.3.0/24
    # --
    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
    # ------------------------
    # --TAG: http_access
    # --Default:
    # --http_access deny all
    http_access allow manager localhost
    http_access deny manager
    # --Deny requests to unknown ports
    http_access deny !Safe_ports
    # --Deny CONNECT to other than SSL ports
    http_access deny CONNECT !SSL_ports
    http_access allow all
    # ------------------
    # --TAG: icp_access
    # --Default:
    # --icp_access deny all
    icp_access allow mylan1
    icp_access allow mydmz3
    icp_access deny all
    # -----------------
    # --TAG: htcp_access
    # --Default:
    # --htcp_access deny all
    htcp_access allow mylan1
    htcp_access allow mydmz3
    htcp_access deny all
    # ------------------
    # --TAG: urlpath_regex
    acl QUERY urlpath_regex -i cgi-bin /? /.jsp /.asp /.php /.cgi /.aspx
    acl QUERYSSL url_regex -i ^http://
    cache deny QUERY
    cache deny QUERYSSL
    # -----------------

    # NETWORK OPTIONS
    # -----------------------------------------------------------------------------
    # --TAG: http_port
    # --Squid normally listens to port 3128
    http_port 80 accel vhost vport
    # ------------

    # OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
    # -----------------------------------------------------------------------------
    # --TAG: cache_peer
    # --Default:
    # --none
    cache_peer www.ynxt.com parent 80 0 no-query originserver name=ynxt
    cache_peer www.ynest.com parent 80 0 no-query originserver name=ynest
    cache_peer xxft.yn.gov.cn parent 80 0 no-query originserver name=xxft
    cache_peer xxt.yn.gov.cn parent 80 0 no-query originserver name=xxt
    # -------------------------------------------------------------------
    # --TAG: cache_peer_domain
    # --Default:
    # --none
    cache_peer_domain ynxt .ynxt.com
    cache_peer_domain ynest .ynest.com
    cache_peer_domain xxft xxft.yn.gov.cn
    cache_peer_domain xxt xxt.yn.gov.cn
    # --------------------------------
    # --TAG: hierarchy_stoplist
    # --We recommend you to use at least the following line.
    hierarchy_stoplist cgi-bin ?
    # --------------------------

    # MEMORY CACHE OPTIONS
    # -----------------------------------------------------------------------------
    # --TAG: cache_mem (bytes)
    # --Default:
    # --cache_mem 8 MB
    cache_mem 1024 MB
    # --------------
    # --TAG: maximum_object_size_in_memory (bytes)
    # --Default:
    # --maximum_object_size_in_memory 8 KB
    maximum_object_size_in_memory 1024 KB
    # ----------------------------------

    # DISK CACHE OPTIONS
    # -----------------------------------------------------------------------------
    # --TAG: cache_dir
    # --Default:
    # --cache_dir ufs /usr/local/squid3/var/cache 100 16 256
    cache_dir ufs /usr/local/squid3/var/cache 10000 16 256
    # ----------------------------------------------------
    # --TAG: maximum_object_size (bytes)
    # --Default:
    # --maximum_object_size 4096 KB
    maximum_object_size 32 MB
    # --------------------------

    # LOGFILE OPTIONS
    # -----------------------------------------------------------------------------
    # --TAG: access_log
    # --And priority could be any of:err, warning, notice, info, debug.
    access_log /usr/local/squid3/var/logs/access.log squid
    # ----------------------------------------------------
    # --TAG: cache_log
    # --Default:
    # --cache_log /usr/local/squid3/var/logs/cache.log
    cache_log /usr/local/squid3/var/logs/cache.log
    # --------------------------------------------
    # --TAG: pid_filename
    # --Default:
    # --pid_filename /usr/local/squid3/var/logs/squid.pid
    pid_filename /usr/local/squid3/var/logs/squid.pid
    # -----------------------------------------------
    # --TAG: logfile_rotate
    # --Default:
    # logfile_rotate 10
    logfile_rotate 7
    # --------------
    # --TAG: strip_query_terms
    # --Default:
    # --strip_query_terms on
    strip_query_terms off
    # -------------------

    # OPTIONS FOR TUNING THE CACHE
    # -----------------------------------------------------------------------------
    # --TAG: refresh_pattern
    # --Suggested default:
    refresh_pattern ^ftp:  1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern (cgi-bin|/?) 0 0% 0
    refresh_pattern .  0 20% 4320
    # ----------------------------

    # ADMINISTRATIVE PARAMETERS
    # -----------------------------------------------------------------------------
    # --TAG: cache_mgr
    # --Default:
    # --cache_mgr webmaster
    cache_mgr kmmartin@163.com
    # ------------------------

    # ICP OPTIONS
    # -----------------------------------------------------------------------------
    # --TAG: icp_port
    # --Default:
    # --icp_port 0
    icp_port 3130
    # -----------

    # ERROR PAGE OPTIONS
    # -----------------------------------------------------------------------------
    # --TAG: error_directory
    # --Default:
    # --error_directory /usr/local/squid3/share/errors/templates
    error_directory /usr/local/squid3/share/errors/Simplify_Chinese
    # -------------------------------------------------------------

    # DNS OPTIONS
    # -----------------------------------------------------------------------------
    # --TAG: dns_nameservers
    # --Default:
    # --none
    dns_nameservers 192.168.3.3
    # -------------------------
    # --TAG: dns_testnames
    # --Default:
    # --dns_testnames netscape.com internic.net nlanr.net microsoft.com
    dns_testnames www.ynxt.com www.ynest.com xxt.yn.gov.cn xxft.yn.gov.cn
    # -------------------------------------------------------------------

    # MISCELLANEOUS
    # -----------------------------------------------------------------------------
    # --TAG: forwarded_for on|off
    # --Default:
    # --forwarded_for on
    forwarded_for on
    # --------------
    # --TAG: coredump_dir
    # --Default:
    # --coredump_dir none
    coredump_dir /usr/local/squid3/var/cache
    # --------------------------------------

  18. squid.sh的启动脚本
    赋予可执行权限# chmod 755 squid.sh

    #!/bin/sh
    #
    ulimit -HSn 15000
    # this script starts and stops Squid
    echo 15000 > /proc/sys/fs/file-max
    case "$1" in
    start)
              /usr/local/squid/sbin/squid -s
              echo -n ' Squid'
              ;;
    stop)
              /usr/local/squid/sbin/squid -k shutdown
              ;;
    esac

    #./squid.sh start就可以启动squid了

squid 3 反向代理 缓存服务器 安装配置精华指南 by lbj相关推荐

  1. nginx反向代理缓存服务器构建

    博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 代理服务可简单的分为正向代理和反向代理: ...

  2. 【推荐】如何用 Nginx 构建反向代理缓存服务器?

    作者:一盏烛光,贤牛特邀工程师. 防伪码:曾经沧海难为水,除却巫山不是云. 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对 Internet 的连接请求(如×××/NAT), ...

  3. NGINX做反向代理缓存服务器原理

    代理服务可以简单的分为正向代理和反向代理 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标web服务器的HTTP请求先发送到 ...

  4. 代理缓存服务器squid

    链接 :[Linux通过squid配置代理上网] https://help.aliyun.com/knowledge_detail/41342.html?spm=5176.7841507.2.4.nS ...

  5. Squid代理缓存服务器

    一.代理缓存服务器 1.分类 正向代理:部署在企业内部,实现企业内部客户端访问公网加速(ACL.缓存) 传统代理:需在客户端指向正向代理服务器的IP及端口,方可正常使用 透明代理:将正向代理服务器作为 ...

  6. nginx配置反向代理缓存

    说明 最近运维一个网站里面含有不经常变化的小图片,而每次请求都需要调用file接口获取不太合适.所以就想利用nginx的反向代理缓存来减轻服务接口的请求压力. 工作原理 Nginx反向代理缓存,当客户 ...

  7. nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录

    在日常运维工作中,运维人员会时常使用到nginx的反向代理,负载均衡以及缓存等功能来优化web服务性能. 废话不多说,下面对测试环境下的nginx反向代理+缓存开启+url重写+负载均衡(带健康探测) ...

  8. 转-架构高性能网站秘笈(四)——反向代理缓存

    转自CSDN博客,u010425776,http://m.blog.csdn.net/u010425776/article/details/51096468 什么是反向代理? 在介绍"反向代 ...

  9. 部署Squid代理服务器 —— 反向代理(acl 访问控制 、sarg 日志分析、 Squid反向代理) —— 再续前缘..

    部署Squid代理服务器 -- 反向代理 前言 部署前规划 acl 访问控制 sarg 日志分析 反向代理 前言 部署 Squid 代理服务的正向代理,咱们已经实现 可以参考前文 Squid ---- ...

最新文章

  1. Code Sign error: Provisioning profile 'xxxxxxxxxxxxxxxxxxxxxxxxx'
  2. Spring Ioc 之 Bean的加载(1)(生命周期)
  3. 『飞秋』Html.Label的缺陷及补救办法
  4. android语音识别开源代码,android语音识别,有没有相应的源码,教程可以推荐啊?
  5. 比特币程序_比特币如何运作? 我建立了一个应用程序向您展示。
  6. 小程序 const moment = require('moment')_小程序依赖分析实践
  7. Golang 大杀器之跟踪剖析 trace(转载)
  8. VB案例:简易记事本
  9. 最快的存储过程分页 50W
  10. java炫酷龙卷风源码_Java-使用二叉树实现快速排序-遁地龙卷风
  11. Android NDK开发之 NEON使用介绍
  12. Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化
  13. idea 添加格式化json插件GsonFormat 和快速解析第三方返回json数据
  14. Kettle下载与安装教程【保姆版】
  15. visual studio 2015 无法打开源文件“stdafx.h“
  16. 开源知识管理系统_开源MrDoc,一个适合个人和小型团队的文档、知识、笔记在线管理系统...
  17. ShowWindow函数用法。
  18. android 软解8k视频,一种基于CPU的8K超高清视频高速解码方法与流程
  19. 8月书讯丨11本新上好书速览(计算机+经管)
  20. node rimraf模块 递归删除文件夹内容

热门文章

  1. java——记录一次条形码、二维码、订单自动生成的制作
  2. Clock skew too great(37)-PREAUTH_FAILED
  3. 基于单片机的数字秒表
  4. 游戏中的抗锯齿技术Anti-Alasing提炼总结
  5. AIX上解压缩.tar.Z, .tar.gz, .zip
  6. Delphi中类的VMT
  7. 航天工程系统是什么?
  8. WARNING: Ignoring invalid distribution -ip (d:\python\lib\site-packages)
  9. 可以储存照片的字段类型是_在数据库中可用来存储图片的字段对象是哪种类型的字段?...
  10. 网址短连接 short url