【缓存】squid基础解释、代理搭建

简介: 文章目录前言一、概念1.1 原理/作用(传统代理)

一、概念

1.1 原理/作用(传统代理)

  • 代替客户机向服务器请求数据
  • 将服务器静态元素保存到本地缓存
  • 资源获取:向服务器获取数据
  • 加速访问:缩短访问距离(物理层面)
  • 缓存数据:缓存一些高访问资源
  • 隐藏地址:保护客户端真实地址

1.2 安装方式

  • 安装搭建所需环境(gcc gcc-c++ make)
  • 解压、配置、编译、刻录
  • 添加管理用户、优化命令路径
  • 修改配置文件:/etc/squid.conf
  • 启动运行squid服务,将squid添加到系统服务中

1.3 代理类型

  • 传统代理:正向代理,代替客户端访问服务端
  • 反向代理:代替服务端回答客户端
  • 透明代理:代替服务端回复客户端,但是客户端不知道有代理服务器存在

1.4 常用缓存工具

  • squid:正反代理都支持,应用场景多,支持磁盘持久化(专业工具)
  • varinsh:仅支持反向代理,性能高,内存缓存处理快(专业工具)
  • nginx:轻量级,用插件才能缓存静态文件(业余工具)
  • cdn:内容分发网络,多用于边缘节点服务器(云工具)

二、squid搭建、

2.1 传统代理

#squid传统代理服务器
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
yum -y install gcc gcc-c++ make
tar zxvf squid-3.5.28.tar.gz -C /opt/
cd /opt
tar zxvf squid-3.5.28.tar.gz -C /opt/
cd /opt/squid-3.5.28
./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese" \
--enable-underscore \
--disable-poll \
--enable-epoll \
--enable-gnuregex
make -j 4 && make install
ln -s /usr/local/squid/sbin/* /usr/local/sbin/
useradd -M -s /sbin/nologin squid
chown -R squid:squid /usr/local/squid/var/
vim /etc/squid.conf
    56行:http_access allow all
    57行:http_access deny all
    60行:http_port 3128
    63行:cache_effective_user squid
    62行:cache_effective_group squid
  64行:cache_mem 64 MB
  65行:reply_body_max_size 10 MB
  66行:maximum_object_size 4096 KB
  72行:coredump_dir /usr/local/squid/var/cache/squid
squid -z && squid
netstat -anpt | grep squid
vim /etc/init.d/squid
#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
   start)
     netstat -natp | grep squid &> /dev/null
     if [ $? -eq 0 ]
     then
       echo "squid is running"
     else
       echo "正在启动 squid..."
       $CMD
     fi
   ;;
   stop)
     $CMD -k kill &> /dev/null
     rm -rf $PID &> /dev/null
   ;;
   status)
     [ -f $PID ] &> /dev/null
        if [ $? -eq 0 ]
          then
            netstat -natp | grep squid
          else
            echo "squid is not running"
        fi
   ;;
   restart)
      $0 stop &> /dev/null
      echo "正在关闭 squid..."
      $0 start &> /dev/null
      echo "正在启动 squid..."
   ;;
   reload)
      $CMD -k reconfigure
   ;;
   check)
      $CMD -k parse
   ;;
   *)
      echo "用法:$0{start|stop|status|reload|check|restart}"
   ;;
esac
#脚本内容到此结束
chmod +x /etc/init.d/squid
chkconfig --add squid
chkconfig --level 35 squid on
service squid restart
iptables -F
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
#传统代理配置完毕
相关文章
|
2月前
|
存储 缓存 监控
|
2月前
|
存储 缓存 负载均衡
Nginx代理缓存机制
【10月更文挑战第2天】
97 4
|
7月前
|
缓存 应用服务中间件 Linux
Linux系统中基于NGINX的代理缓存配置指南
配置后,NGINX将缓存后端服务器的响应,并根据缓存配置进行有效期控制。这样可以加速页面加载并减轻后端服务器的负担。
162 0
|
缓存 运维 网络协议
Linux巩固篇016-Linux Squid 部署代理缓存服务
纸上得来终觉浅,绝知此事要躬行
664 0
Linux巩固篇016-Linux Squid 部署代理缓存服务
|
存储 缓存 监控
代理缓存 | 学习笔记
快速学习代理缓存,介绍了代理缓存系统机制, 以及在实际应用过程中如何使用。
代理缓存 | 学习笔记
|
SQL 缓存 Java
Mybatis【缓存、代理、逆向工程】(二)
将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。
100 0
Mybatis【缓存、代理、逆向工程】(二)
|
SQL 缓存 Java
Mybatis【缓存、代理、逆向工程】(一)
将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。
138 0
Mybatis【缓存、代理、逆向工程】(一)
|
缓存 网络协议 Unix
高性能代理缓存服务器—Squid
Squid是什么? Squid是一款比较知名的开源代理缓存软件,它不仅可以跑在linux上还可以跑在windows以及Unix上,它的技术已经非常成熟。目前使用Squid的用户也是十分广泛的。
366 0
高性能代理缓存服务器—Squid
|
缓存 应用服务中间件 nginx
|
缓存 应用服务中间件 nginx
Nginx代理阿里云OSS图片 并设置缓存
Nginx代理阿里云OSS图片 并设置缓存
1787 0