设为首页 收藏本站
查看: 1209|回复: 0

[经验分享] squid实例配置之静态cdn

[复制链接]

尚未签到

发表于 2018-12-28 08:54:07 | 显示全部楼层 |阅读模式
  研究了文档发现在squid实现cdn或代理前最好先处理检查一下问题:
  

  ,每G磁盘空间需要32M内存,如此512M内存能支持16G的磁盘缓存。
  

  加入你的用户每天8小时耗费1M流量,那就是每天大约3.5G,因此可以说每Mweb传输需要10到25G的磁盘空间。
  

  A   linux查看文件描述符限制:
  ulimit -n unlimited
  或
  ulimit -n
  

  (以便为1024,但是要使用squid,最好修改为8192)
  

  修改方法如下:
  编辑 /usr/include/bits/types.h
  改变 _FD_SETSIZE的值:
  define __FD_SETSIZE 8912
  下一步修改内核文件木舒服的限制:
  echo 8912 > /usr/sys/fs/fiie-amx
  

  最后增加进程文件 描述的限制:
  ulimit -Hn 8192
  以上为中文文档所写,但无法找到;此为成功找到如下:
  (# vi /usr/include/bits/typesizes.h
  # vi /usr/include/linux/posix_types.h
  

  把里边的 #define __FD_SETSIZE 1024 改成 65536
  

  

  2,设置当前环境
  

  

  # ulimit -Hs 65536
  # ulimit -n 65536)
  

  B:
  修改linux系统端口号:
  echo “1023 400000” > /proc/sys/net/ipv4/ip_local_port_range
  (临时端口号为1024 到40000)
  

  

  2,CONNECT
  CONNECT方法非常特殊,它是用于通过http代理来分装某种请求的方法,在处理CONNECT方法和远程的端口时应该特别谨慎
  如:
  您不希望squid连接到某些远程服务,您应该限制CONNECT连接,仅能连接到https/ssl或nntps端口设置如下:
  acl CONNECT method CONNECT
  acl SSL_ports 443 563
  

  http_access allow CONNECT SSL_ports
  http_access deny CONNECT
  

  

  3,myport
  假如你在http_port指令里指定的不止一个端口,那么squid就可以在不同的端口上监听。
  如果将squid座位http加速器和用户代理服务器,那么myportACL特别有用了
  如:
  acl AccelPort myport 80
  acl ProxyPort mysqlport 3128
  acl MyNet src 10.111.5.0/28
  http_access allow AccelPort                       #anyone
  http_access allow ProxyPort MyNet #only my users
  http_access deny ProxyPort                        #deny others
  

  

  4,ident
  第六个pdf,第12页
  

  5,path_auth
  squid当前支持三种技术以接受用户验证:HTTP基本协议,数字认证协议,和NTLM。
  auth_param指令控制对所有的辅助程序的配置,
  

  auth_param指令和proxy_auth ACL是少数在配置文件里顺序重要的实例。你必须在proxy_auth ACL之前定义至少一个严重辅助程序(使用auth_param),如果你没有这样做,squid打印出错消息,
  

  并忽略proxy_auth ACL。
  

  

  6,srcdom_regex,dstdom_regex,url_regex,
  如:
  acl WrbSite dotdom_regex -i ^www \ .
  匹配以www开头的主机名
  acl DHCPUser srcdom_regex -i ^dhcp
  匹配以dhcp开头的主机名,如dhcp12.edong.com 而不是海鸥身体2.dhcp.edong.com
  

  url_regex:设置url的过滤
  urlpath_regex 与上很相似,不过传输协议和主机名不保函在匹配条件中,
  如:
  拒绝url里有sex,但仍允许主机名里面有sex的请求那么:
  acl sex urlpath_regex sex
  又如:
  捕获cgi
  acl CGI urlpath_regex ^/cgi-bin
  

  

  7,
  如果一个ACL太长,可以在一个文件夹内写上,然后在指定地址就好了。
  acl Foo BadClients “/usr/local/squid/etc/BadClients”
  在BadClients文件内这样写入
  1.2.3.4
  1.2.3.5
  1.2.3.6
  每个ip是一个单行.
  

  8,在缓存目录被激活后最好不要在修改文件L1,L2的大小,因为缓存目录内被存储的文件ip是用L1,L2来实现的,如果修改容易造成无法访问现象。
  

  9,使用read-only可以实现撤除某个缓存目录的切换,也就是说不自往要撤除的缓存目录写东西,过段时间及可撤除。
  max-size 指定存储的文件大小的最大,以字节来说。
  

  10,编译的参数解释:
  --enable-carp
  

  现在开始安装和设置cdn
  

  因为squid在存储和访问时需要调用很多文件,所有需要增大文件描述符。
  a,设置“文件描述符”,并设置用户同时打开文件数量
  # vi /usr/include/bits/typesizes.h
  # vi /usr/include/linux/posix_types.h
  

  把里边的 #define __FD_SETSIZE 1024 改成 65536
  

  2,设置当前环境
  

  # ulimit -Hs 65536
  # ulimit -n 65536
  

  1,编译参数:
  configure --prefix=/www/sqdn/sqdn --enable-dlmalloc --with-pthreads --enable-poll --disable-internal-dns --enable-stacktrace --enable-removal-policies="heap,lru" --enable-delay-pools --enable-storeio="aufs,coss,diskd,ufs" --with-maxfd=65536
  

  2,设置参数
  visible_hostname sqdn289
  

  http_port 80 vhost vport
  

  hierarchy_stoplist cgi-bin ?
  

  acl QUERY urlpath_regex cgi-bin \?
  cache deny QUERY
  

  acl apache rep_header Server ^Apache
  broken_vary_encoding allow apache
  

  cache_mem 8 MB
  

  maximum_object_size 4096 KB
  

  cache_dir ufs /www/sqdn/sqdn/var/cache 1024 16 256
  

  access_log /www/sqdn/sqdn/var/logs/access.log squid
  

  hosts_file /www/sqdn/sqdn/etc/hosts
  

  auth_param basic children 5
  auth_param basic realm Squid proxy-caching web server
  auth_param basic credentialsttl 2 hours
  auth_param basic casesensitive off
  http_port 203.191.147.36:80 vhost vport
  

  refresh_pattern ^ftp:           1440    20%     10080
  refresh_pattern ^gopher:        1440    0%      1440
  refresh_pattern .               0       20%     4320
  

  acl all src 0.0.0.0/0.0.0.0
  acl manager proto cache_object
  acl localhost src 127.0.0.1/255.255.255.255
  acl to_localhost dst 127.0.0.0/8
  acl SSL_ports port 443 563
  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 all
  {{{{(此处注意我想的是如果不做个人策略就要allow)
  {再小说些,如:
  acl customers dstdomain "/www/sqdn/sqdn/domains"
  http_access allow customers
  在domians中添加上cdn.langzi289.com.cn
  然后就可以修改为http_access deny all
  及所有在domains内的域名才才能使用此cdn服务器)}}}
  

  http_reply_access allow all
  

  icp_access allow all
  

  always_direct allow all
  

  coredump_dir /www/sqdn/sqdn/var/cache
  

  3,启动父进程与子进程如下:
  root     32598 0.0 0.1 5448 652 ?        Ss   10:52   0:00 /www/sqdn/sqdn/sbin/squid -s
  nobody   32600 0.0 0.8 8664 4508 ?        S    10:52   0:00 (squid) -s
  

  4,添加hosts_file
  /www/sqdn/sqdn/etc/hosts
  

  222.191.251.52     cdn.langzi289.com.cn
  222.191.251.52     cdn289.langzi289.com.cn
  (此处仅是为了访问是不查询dns而提高网址速度和domains文件不一样,domains是策略添加域名)
  

  5,cdn域名解析
  将cdn.langzi289.com.cn 和cdn289.langzi289.com.cn 解析到203.191.147.36(也就是cdn服务器上)
  

  收藏于 2009-09-04
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-656689-1-1.html 上篇帖子: squid+域环境 出现 当尝试取回该 URL 时遇到下面的错误 访问被拒绝。 下篇帖子: 001
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表