一、源码安装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. [转帖]OpenSSL版本历史

    OpenSSL版本历史 新闻日志 这是所有 OpenSSL 公告的简洁日志.它们几乎是发布通知. 日期物品 2021 年 7 月 29 日OpenSSL 3.0 的 Beta 2 现已推出.这是一个候 ...

  2. [转帖]SSL Certificate Exporter

    https://github.com/ribbybibby/ssl_exporter Exports metrics for certificates collected from various s ...

  3. [转帖]armv6、armv7、armv7s、armv8、armv64及其i386、x86_64区别

    ARM处理器指令集 一. 苹果模拟器指令集: 指令集 分析 i386 针对intel通用微处理器32架构的 x86_64 针对x86架构的64位处理器 i386|x86_64 是Mac处理器的指令集, ...

  4. 学习MySQL,创建表,数据类型

    连接本地mysql语句 mysql -hlocalhost -uroot -proot MySQL通用语法 DDL数据库操作 DDL:数据定义语言,用来定义数据库对象(数据库,表,字段) 查询所有数据 ...

  5. 华为云DTSE携手“灵康宜”构造一站式智慧健康检测云平台

    本文分享自华为云社区<华为云DTSE携手"灵康宜"构造一站式智慧健康检测云平台>,作者: HuaweiCloudDeveloper. 打破传统健康监测方式桎梏--非接触 ...

  6. [置顶] ES篇

    环境 第一篇: ES--介绍.安装 第二篇: ES--安装nodejs 第三篇: ES--插件 第四篇: ES--kibana介绍.安装 第五篇: ES--中文分词介绍.下载 第六篇: docker, ...

  7. docker 发布web项目到linux

    一.准备工作 1.连接到Liunx的工具 MobaXterm 填好Ip 直接点ok就行 输入用户名和密码进入系统 2.已发布的.netcore网站或微服务 在要发布的项目上右键---->添加-- ...

  8. 数组 vs. 切片

    在Go编程语言中处理数据时,经常会遇到数组和切片.这两者是不同的数据结构,有各自的特性和用途.本文将对Go中的数组和切片进行比较,以帮助大家更好地理解它们. 1. 长度不同 一个主要的区别是长度.在G ...

  9. SqlSugar导航查询/多级查询

    1.导航查询特点 作用:主要处理主对象里面有子对象这种层级关系查询 1.1 无外键开箱就用 其它ORM导航查询 需要 各种配置或者外键,而SqlSugar则开箱就用,无外键,只需配置特性和主键就能使用 ...

  10. SqlSugar联表查询

    Join用法 语法糖1.2和3 在Where OrderBy GroupBy Select用法都一样的,他们区别就在JOIN的方式不一样,其它都一样 语法糖1 优点:好理解,5个表以内的联表非常爽,支 ...