一、源码安装squid 4.12

1.下载squid-4.12源码包

wget http://www.squid-cache.org/Versions/v4/squid-4.12.tar.gz
tar -zxvf squid-4.12.tar.gz -C /usr/local/

2.编译配置

cd /usr/local/squid-4.12/
./configure --prefix=/usr/local/squid \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese" \
--enable-poll \
--enable-gnuregex

配置成功会看到有Makefile 文件

3.编译安装

make && make install

编译安装时间比较长(主要时make 时间毕比较长)

4.其他配置

添加软链接: ln -s /usr/local/squid/sbin/* /usr/local/sbin/
添加新用户:useradd -M -s /sbin/nologin squid
配置权限:chown -R squid:squid /usr/local/squid/var/

5.配置squid

vi /usr/local/squid/etc/squid.conf
开启缓存目录位置:cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256
添加运行用户:cache_effective_user squid
添加运行组:cache_effectice_group squid
添加主机名:visible_hostname ip/域名

修改完后↓

测试配置:squid -k parse
初始化:squid -z

6.启动和关闭squid

启动:squid
后台启动:squid -s
检测是否启动成功:netstat -anpt|grep squid

启动成功会有以下信息:

tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN      15465/(squid-1)

关闭服务:squid -k shutdown  或者 kill -9 15465

7.测试squid 代理服务是否可以正常使用

 curl -x 本地IP:3128 http://www.baidu.com -I

正常:HTTP/1.1 200 OK

二、问题解决:

问题一 (gcc版本问题):

configure: error: ***A compiler with support for c++11 language features is required.

gcc 版本太低(yum 命令安装的gcc 版本太低)

1.yum安装依赖包

yum install -y epel-release
yum install -y gcc gcc-c++ gcc-gnat libgcc libgcc.i686 glibc-devel bison flex texinfo Development Tools

2.下载gcc源码包

cd /usr/local/src
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.3.0/gcc-8.3.0.tar.xz
tar -xJvf gcc-8.3.0.tar.xz

3.检查和下载gcc依赖库

cd /usr/local/src/gcc-8.3.0
./contrib/download_prerequisites

运行这个命令会柱塞一段时间,别停掉!!!下载完会自动解压,不需要安装这些依赖库。

4.创建编译目录和编译安装

cd /usr/local/src/gcc-8.3.0
mkdir build && cd build
../configure --prefix=/usr/local/gcc-8.3.0 \
--enable-checking=release \
--enable-languages=c,c++ \
--disable-multilib
make && make install

5.配置环境变量

export PATH=/usr/local/gcc-8.3.0/bin:$PATH
source /etc/profile

6.检查gcc 版本

gcc -v

问题二:报错:lib64/libstdc++.so.6

lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./cf_gen)

1.查找编译gcc时生成的最新动态库:

find / -name "libstdc++.so*"

2.查看当前libstdc++.so.6 软链接指向

ll /usr/lib64/libstdc++*

3.重建软链接

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.backup
cp /usr/local/gcc-8.3.0/lib64/libstdc++.so.6.0.25 /usr/lib64/
ln -s /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6

检查是否成功:ll /usr/lib64/libstdc++.so.6*

参考:https://www.osyum.com/group/topic/397/

本文只供学习参考,转载指明出处:https://www.cnblogs.com/dennyLee2025/p/13360310.html

CentOS 7.3 源码安装squid 4.12 及安装过程遇到的一些问题的更多相关文章

  1. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  2. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  3. centos 6.4 源码安装php5.4 mysql5.5 apahce2

    centos 6.4 源码安装php5.4 mysql5.5 apahce2 博客分类: php   参考:http://blog.csdn.net/simpleiseasy/article/deta ...

  4. CentOS 7.4 源码编译安装 Redis

    一.CentOS 7.4  源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...

  5. centos 6.10源码安装mysql5.5.62实验

    查看系统版本 [root@ABC ~]# cat /etc/redhat-release CentOS release 6.10 (Final) 下载mysql5.5.62源码包,解压后安装 tar ...

  6. 在CentOS编译Git源码

    Git 是一个免费的开源分布式版本控制系统,旨在处理从小到小到的所有内容 具有速度和效率的超大型项目. Git易于学习,占用空间很小,性能快如闪电. 它超越了Subversion,CVS,Perfor ...

  7. CentOS使用yum源中自带的rpm包安装LAMP环境

    CentOS使用yum源中自带的rpm包安装LAMP环境.这是Linux下安装LAMP的环境一种最基本最简便的方式.新手可以从容安装使用. 1. 安装基础包(可选安装)yum install -y w ...

  8. win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件

    win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件   1.去git上下载react-devtools文件到本地,https://github.com/fac ...

  9. 曹工说Redis源码(3)-- redis server 启动过程完整解析(中)

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...

  10. Spring AOP 源码分析 - 拦截器链的执行过程

    1.简介 本篇文章是 AOP 源码分析系列文章的最后一篇文章,在前面的两篇文章中,我分别介绍了 Spring AOP 是如何为目标 bean 筛选合适的通知器,以及如何创建代理对象的过程.现在我们的得 ...

随机推荐

  1. Vue事件方法中this.属性名

    vue事件方法中访问data对象中的成员 : this.属性名 注意: 如果事件处理代码没有写到methods中,而是写在行内则不需要this.

  2. js - 异步加载图片到 dom

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 【面试题精讲】你了解String.intern方法吗

    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 String.intern 方法是 Java 中 ...

  4. [转帖]nginx反向代理时保持长连接

    https://www.cnblogs.com/liufarui/p/11075630.html ·[场景描述] HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上 ...

  5. [转帖]What is Pstate

    https://www.jianshu.com/p/342480d917e3 When someone refers to a P-state, generally only the frequenc ...

  6. [转帖]Elasticsearch 技术分析(七): Elasticsearch 的性能优化

    https://www.cnblogs.com/jajian/p/10176604.html 硬件选择# Elasticsearch(后文简称 ES)的基础是 Lucene,所有的索引和文档数据是存储 ...

  7. [转帖]CPU Utilization is Wrong

    Brendan Gregg's Blog home CPU Utilization is Wrong 09 May 2017 The metric we all use for CPU utiliza ...

  8. 感受 Vue3 的魔法力量

    ​ 作者:京东科技 牛至伟 近半年有幸参与了一个创新项目,由于没有任何历史包袱,所以选择了Vue3技术栈,总体来说感受如下: • setup语法糖<script setup lang=" ...

  9. vue如何在render函数中使用判断(2)

    h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. 第 ...

  10. vm-storage在全部都是旧metric情况下的写入性能测试

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 接上篇:测试所有metric都是存在过的metric的情况 ...