Squid 反向代理服务器配置

时间:2022-05-13 09:22:17

简介:

Squid 反向代理常用于服务器端,客户端访问 Squid 代理服务器的 80 端口,Squid 代理服务器根据配置去请求后端的 web 服务器,

然后将请求到的信息保存在本地并回传给客户端,当又有客户端请求相同资源时,Squid 代理服务器直接将缓存中的信息回传给客户端。

一、安装 Squid

shell > ulimit -n  # 默认打开文件描述符为  ,要增大它

shell > vim /etc/security/limits.conf

* - nofile 

## 定义单个用户的最大打开文件数为 65535 ,要重启服务器生效 ,如果线上服务器不方便重启,那么就使用 ulimit -n 65535 来临时修改

shell > vim /etc/selinux/config

SELINUX=enforcing  # 将 enforcing 改为 disabled ,同样要重启服务器生效,不方便的话可以使用 setenforce  来临时关闭 SELinux

shell > reboot

shell > ulimit -n

shell > getenforce
Disabled

## 再次确认已经修改成功

shell > yum -y install squid

shell > rpm -qa squid
squid-3.1.-.el6.x86_64

二、配置反向代理

shell > mkdir /opt/squid_cache  # 创建缓存目录

shell > chown -R squid.squid /opt/squid_cache  # 更改属主、属组

shell > > /etc/squid/squid.conf  # 清空默认配置文件

shell > vim /etc/squid/squid.conf

cache_effective_user squid
cache_effective_group squid ## 启动 Squid 用户、组 http_port 192.168.1.88: accel vhost ## 将端口监听在 192.168.1.88 上,accel 指加速模式,vhost 用于转发请求 dns_nameservers 8.8.8.8 ## 为了使 Squid 能解析域名需定义真实 DNS 地址 visible_hostname study.localhost.localdomain ## 计算机名,可以为 IP 地址,用于错误页面的显示 cache_mgr wangxiaoqiang888@.com ## 管理员邮箱地址,用于错误页面上的显示 cache_mem MB ## 内存缓存大小,指定可以使用多少物理内存作为高速缓存。如果此服务器就是专门的缓存服务器,可以指定为物理内存的一半。否则不应大于三分之一 cache_dir ufs /opt/squid_cache ## 缓存目录大小为 4G ,这个可以按实际磁盘大小来定,有 二级目录,每个二级目录下有 个子目录 maximum_object_size MB ## 最大缓存文件大小为 4MB ,超过的直接传给用户,不作缓存 cache_access_log /var/log/squid/access.log ## 访问日志文件路径,记录了用户访问 Internet 的详细信息,可以查看每用户的上网记录 cache_log /var/log/squid/cache.log ## 缓存日志文件路径,记录了缓存相关的日志信息 cache_store_log /var/log/squid/store.log ## 网页缓存日志文件路径,记录了网页在缓存中调用情况 logfile_rotate ## 日志轮转, 代表保留 个旧的日志跟 个新日志( 需配合 crond 来使用 ) cache_swap_high ## 缓存磁盘空间大于 % 时自动清理 cache_swap_low ## 清理到 % 时停止 cache_peer 192.168.1.80 parent originserver name=sina
cache_peer 192.168.1.80 parent originserver name=baidu ## cache_peer 指定后端服务器地址, 为后端服务端口, 为 ICP 端口号(多个 Squid 时用),originserver 指定资源服务器,name 指定一个别名 cache_peer_domain sina sina.com www.sina.com
cache_peer_domain baidu baidu.com www.baidu.com ## 指定对应关系,当用户请求 baidu.com 或 www.baidu.com 时,转发到别名为 baidu 的真实服务器上 http_access allow all ## 允许所有人访问代理服务器(必须开启)

三、初始化 Squid

shell > squid -z
// ::| Creating Swap Directories
// ::| /opt/squid_cache exists
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/
// ::| Making directories in /opt/squid_cache/0A
// ::| Making directories in /opt/squid_cache/0B
// ::| Making directories in /opt/squid_cache/0C
// ::| Making directories in /opt/squid_cache/0D
// ::| Making directories in /opt/squid_cache/0E
// ::| Making directories in /opt/squid_cache/0F

四、启动 Squid

shell > service squid start
正在启动 squid:. [确定]
shell > chkconfig --add squid
shell > chkconfig --level squid on
shell > netstat -anpt | grep squid
tcp 192.168.1.88: 0.0.0.0:* LISTEN /(squid)

五、测试

shell > cat /var/log/squid/access.log | grep TCP_MISS

1420537525.011      192.168.1.110 TCP_MISS/  GET http://alabo.com/favicon.ico - FIRST_UP_PARENT/www text/html
1420537527.279 192.168.1.110 TCP_MISS/ GET http://alabo.com/ - FIRST_UP_PARENT/www text/html
1420537527.571 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/css.css - FIRST_UP_PARENT/www text/css
1420537528.193 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner6.jpg - FIRST_UP_PARENT/www image/jpeg
1420537528.205 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner1.jpg - FIRST_UP_PARENT/www image/jpeg
1420537528.599 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner2.jpg - FIRST_UP_PARENT/www image/jpeg
1420537528.606 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner8.jpg - FIRST_UP_PARENT/www image/jpeg
1420537528.832 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner4.jpg - FIRST_UP_PARENT/www image/jpeg
1420537529.101 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner3.jpg - FIRST_UP_PARENT/www image/jpeg
1420537529.139 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner7.jpg - FIRST_UP_PARENT/www image/jpeg
1420537529.198 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/benner5.jpg - FIRST_UP_PARENT/www image/jpeg
1420537529.572 192.168.1.110 TCP_MISS/ GET http://alabo.com/images/bj1.jpg - FIRST_UP_PARENT/www image/jpeg
1420537530.190 192.168.1.110 TCP_MISS/ GET http://alabo.com/favicon.ico - FIRST_UP_PARENT/www text/html
1420537531.790 192.168.1.110 TCP_MISS/ GET http://alabo.com/ - FIRST_UP_PARENT/www text/html

## TCP_MISS 代表没有被 Squid 缓存,而是从原始服务器取出的并返回给用户的数据

shell > cat /var/log/squid/access.log | grep TCP_MEM_HIT

1420537531.980       192.168.1.110 TCP_MEM_HIT/  GET http://alabo.com/images/css.css - NONE/- text/css
1420537532.009 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner1.jpg - NONE/- image/jpeg
1420537532.050 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner2.jpg - NONE/- image/jpeg
1420537532.108 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner3.jpg - NONE/- image/jpeg
1420537532.199 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner4.jpg - NONE/- image/jpeg
1420537532.201 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner5.jpg - NONE/- image/jpeg
1420537532.326 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner7.jpg - NONE/- image/jpeg
1420537532.330 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner6.jpg - NONE/- image/jpeg
1420537532.376 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/benner8.jpg - NONE/- image/jpeg
1420537532.393 192.168.1.110 TCP_MEM_HIT/ GET http://alabo.com/images/bj1.jpg - NONE/- image/jpeg

## TCP_MEM_HIT 代表被 Squid 缓存到内存中并返回给用户的数据

shell > cat /var/log/squid/access.log | grep TCP_HIT

## TCP_HIT 代表被 Squid 缓存到 cache 目录(磁盘)中并返回给用户的数据

Squid 反向代理服务器配置的更多相关文章

  1. 利用squid 反向代理提高网站性能

    部分转自:http://www.ibm.com/developerworks/cn/linux/l-cn-squid/ Squid 反向代理的实现原理 目前有许多反向代理软件,比较有名的有 Nginx ...

  2. 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

    2011年11月26日 ? Web服务器架构 ? 评论数 2 案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户.移动宽带用户出现 ...

  3. m2014-architecture-imgserver->利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

    案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户.移动宽带用户出现问题:电信用户打开www.abc.com正常,移动用户打开ww ...

  4. 利用 squid 反向代理提高网站性能(转载)

    本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...

  5. Squid 反向代理配置

    Squid 反向代理配置 1.删除主配置文件重写写入配置 rm -f /etc/squid/squid.conf 2.重新写入配置反向代理 vim /etc/squid/squid.conf # 监听 ...

  6. Squid 反向代理加速网站

    本实例的域名是 wenjin.cache.ibm.com.cn,通过DNS的轮询 技术,将客户端的请求分发给其中一台 Squid 反向代理服务器处理,如果这台 Squid 缓存了用户的请求资源,则将请 ...

  7. squid反向代理

    反向代理的作用是就爱那个网站中的静态自原本地化.也就是将一部分本应该有原是服务器处理的请求交给 Squid 缓存服务处理 编辑 Squid  服务程序的配置文件*(正向代理与反向代理不能同时使用,) ...

  8. 部署和调优 2.2 squid反向代理

    配置反向代理 打开配置文件 vim /etc/squid/squid.conf 修改 http_port 改为 http_port 80 accel vhost vport 在它下面添加一段 cach ...

  9. [nginx]Windows和Mac下,nginx反向代理服务器配置

    最近做项目,前端需要用到nginx反向代理来转发请求,总结了一下在Windows和Mac上的配置,以备查询. 一.Windows 修改nginx的配置文件,nginx.conf. 1)nginx.co ...

随机推荐

  1. PHP中计划任务

    PHP不支持多线程,有时候处理问题不是那么爽,今天谈论一下PHP定时执行的方法 PHP定时执行的三种方式实现 .windows 的计划任务 .linux的脚本程序 .让web浏览器定时刷新 windo ...

  2. 学习了quartz.net2.0的心得

    由于项目中要运用到此调度方法,所以抽空学习了下,简单的用法可以掌握了 首先作为没有用过的人来说,怎么用呢? 于是百度了下原来先要下载 quartz.net2.0, 然后我就去下了个quartz.net ...

  3. MAC下Eclipse的常用快捷键

    整理Eclipse常用快捷键 开发环境切换到Mac下后原来Window下的快捷键很大一部分是不相容的,习惯了快捷键的生活忽然哪天快捷键不起作用了,跟着的就是开发效率明显降低,频繁录入错误的快捷键让Ec ...

  4. Fancy

    Fancy 在欢喜您可以轻易发现并购买由全球最具品味的社区为您挑选的精美商品.

  5. C语言中指针变量的加减运算

    1.指针变量中存放的是地址值,也就是一个数字地址,例如某指针变量中的值是0x20000000,表示表示此指针变量存放的是内存中位于0x20000000地方的内存地址.指针变量可以加减,但是只能与整型数 ...

  6. 涂抹mysql笔记-mysql数据库文件结构

    <>初始化选项文件:默认位置:windows平台 windir\my.ini windir可通过echo $WINDIR$查看 系统盘的根目录即:c:\my.ini installdir\ ...

  7. 在Linux上安装jdk&comma;mysql&comma;tomcat的准备工作

    准备工作: 因为JDK,TOMCAT,MYSQL的安装过程中需要从网上下载部分支持包才可以继续,所以要提前安装下载好下面四个依赖 yum install glibc.i686 yum -y insta ...

  8. VueJs - 世界地图(根据返回国家value值的大小来展示颜色的深浅分布)

    一.实现功能 1.画出世界各国的世界地图 2.根据返回name->国家全称.value->数量,渲染对比世界各国成功的国家,予以值域范围的高亮 3.滑入国家地图,出现tooltip框,提示 ...

  9. 史上最简单的SpringCloud教程 &vert; 第三篇&colon; 服务消费者(Feign)&lpar;Finchley版本&rpar;

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f3-feign/ 本文出自方志朋的博客 上一篇文章,讲述了如 ...

  10. date &quot&semi;&plus;Y-&percnt;m-&percnt;d &percnt;H&colon;&percnt;M&quot&semi;

     date "+Y-%m-%d %H:%M"    date | awk '{print "Year:"$6  "\t month:"$2  ...