【缓存】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
#传统代理配置完毕
相关文章
|
8天前
|
缓存 JavaScript 安全
深度解析Nginx正向代理的原理与实现
深度解析Nginx正向代理的原理与实现
|
8天前
|
机器学习/深度学习
自己搭建代理IP池有哪些好处呢?
自己搭建代理IP池有哪些好处呢?
|
8天前
|
缓存 负载均衡 JavaScript
服务器反向代理的作用与实现
服务器反向代理的作用与实现
|
存储 缓存 网络协议
DNS解析的过程是什么?底层原理是什么?
DNS解析的过程是什么?底层原理是什么?
274 0
|
存储 JavaScript 前端开发
《深入理解Nginx:模块开发与架构解析》一3.6 处理用户请求
本节书摘来自华章出版社《深入理解Nginx:模块开发与架构解析》一书中的第3章,第3.6节,作者 陶辉,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1774 0
|
存储 数据库 数据采集
从零开始构建自己的爬虫代理IP数据库并定期检验IP有效性
从零开始构建自己的代理IP池; 根据代理IP网址抓取新的代理IP; 对历史代理IP有效性验证; python实现
1786 0
|
Web App开发 存储 数据库
Ocelot简易教程(六)之重写配置文件存储方式并优化响应数据
本来这篇文章在昨天晚上就能发布的,悲剧的是写了两三千字的文章居然没保存,结果我懵逼了。今天重新来写这篇文章。今天我们就一起来探讨下如何重写Ocelot配置文件的存储方式以及获取方式。 作者:依乐祝原文地址:https://www.cnblogs.com/yilezhu/p/9807125.html 很多人都说配置文件的配置很繁琐,如果存储在数据库就方便很多,可以通过自定义UI界面在后台进行路由的配置,然后通过调用Administration API让修改后的路由规则立即生效。
1439 0
|
Web App开发 缓存 监控
Nginx 状态监控、缓存的两种机制(学习笔记十四)
这里 Cache 有两种情况说明,一种是浏览器访问Nginx,浏览器会Cache;一种是Nginx 访问后端,Nginx 自己Cache 。
1288 0
|
算法 应用服务中间件 nginx
Nginx 反向代理实现会话保持的两种方式(学习笔记十一)
Nginx反向代理实现会话(session)保持的两种方式 一、ip_hash: ip_hash使用源地址哈希算法,将同一客户端的请求总是发往同一个后端服务器,除非该服务器不可用。
2663 0
|
缓存 负载均衡 应用服务中间件
第五章:nginx静态+代理+缓存+负载均衡详解
一、静态资源WEB服务 非服务器动态运行生成的文件 配置语法-文件读取 Synatax: sendfile on| off Default: sendfile off; Context: http,server,location,if in loc...
1059 0