zoukankan      html  css  js  c++  java
  • Linux 源码安装 squid 代理服务器

    Linux 源码安装 squid 代理服务器


    本次使用的 squid 源码包为 squid-3.5.26-20170702-r14182.tar.gz

    1. 解压

    这步很简单啦, 直接解压就行了

    [root@ ~]# tar zxvf squid-3.5.26-20170702-r14182.tar.gz
    

    2. 进入解压后的目录 cd squid-3.5.26-20170702-r14182 配置

    [root@ squid-3.5.26-20170702-r14182]# ./configure --prefix=/usr/local/squid --with-included-ltdl
    # /usr/local/squid 是要安装的路径
    # --with-included-ltdl 是防止报错 (找不到 'LT_DLSYM_CONST')
    

    3. 编译/安装

    [root@ squid-3.5.26-20170702-r14182]# make
    [root@ squid-3.5.26-20170702-r14182]# make install
    

    4. 修改 /proc/sys/net/ipv4/ip_forward 配置文件

    [root@ ~]# echo "1">/proc/sys/net/ipv4/ip_forward
    # 将该文件中的0改成1 (允许数据包转发) 没具体使用squid, 不知道有什么效果
    

    5. 修改 squid.conf 配置文件

    默认在 /usr/local/squid/etc/squid.conf

    [root@ ~]# vi /usr/local/squid/etc/squid.conf
    

    添加以下内容:

    cache_mem  32 MB
    cache_dir ufs /usr/local/squid/var/cache 100 16 256
    cache_swap_low 90
    cache_swap_high  95
    cache_effective_user squid # 这是squid用户
    cache_effective_group squid
    cache_access_log /usr/local/squid/var/logs/access.log
    cache_log /var/squid/cache.log
    

    然后 修改http_access deny all 为 http_access allow all

    注意: 如果没有创建 squid 用户, 则要创建一个新用户

    [root@ ~]# useradd squid 
    
    [root@ ~]# passwd squid
    # 输入密码, 确认密码
    
    

    6. 更改目录权限, 为了使 squid 账户能顺利写入缓存 (报错: permission denied)

    [root@ ~]# chmod -R 777 /usr/local/squid
    

    7. 初始化缓存目录

    [root@ ~]# /usr/local/squid/sbin/squid –z
    

    注意: 如果目录不存在会报错, 要手动创建上面第5点提到的目录和文件

    # 如果你的目录不一样需要自己调整哦!
    mkdir /var/squid
    touch /var/squid/cache.log
    chmod 777 -R /var/squid
    

    8. 启动和关闭 squid

    /usr/local/squid/sbin/squid -s # 后台静默运行
    /usr/local/squid/sbin/squid -k shutdown # 停止运行



    ### 出现错误: 'visible_hostname' 之前安装了 3.0 的包 `squid-3.0.STABLE18.tar.gz`, 直接 configure && make && make install 编译安装完后, 可以直接启动, 但是需要配置 hostname !
    可以直接修改 `xxx/squid/etc/squid.conf` 这个文件, 加上一句 ``` visible_hostname 主机名 # 主机名好像可以随便取一个的 ```
    当然, 默认缓存文件目录放在 `xxx/squid/var/cahce` 下, 但没有这个目录, 所以要手动创建, 并且给 var 目录下的 logs 和 cache 目录权限, 当然也可以和上面的一样自定义 ``` mkdir /usr/local/squid/var/cache chown -Rf nobody /usr/local/squid/var/* # /var/* 直接给 var 目录下的所有文件赋权限, 也可以一个一个来! ``` 然后就可以初始化, 启动了 (看上面哦 ↑ )
  • 相关阅读:
    LamBda学习(一)
    如何返回一个只读泛型集合
    Socket编程笔记同步
    如何快速读取大文件(看csdn一网友要求写的)没有测试具体的速度。
    如何实现项目脚本的批量生成
    如何实现WORD查找完成后不提示的代码
    W32/Pate.a 病毒处理小记
    在WORD中用VBA实现光标移动与内容选择
    2. WCF 消息操作
    3. WCF 异常处理
  • 原文地址:https://www.cnblogs.com/TaylorBoy/p/7489095.html
Copyright © 2011-2022 走看看