一、源码安装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. SD协议-时序

    1.SD Timing 时序主要体现在CMD和Response的时序 S - 起始位,一直为0 T - Transmitter,1表示CMD(发起端是Host),0表示Response(发起端是Car ...

  2. 【rt-thread】驱动文件调用stm32官方驱动库关系图

    示例 drv_usart.c 调用 stm32f4xx_hal_uart.h

  3. python环境 anaconda安装

    官网: https://www.anaconda.com/distribution/#macos 国内镜像: https://mirrors.tuna.tsinghua.edu.cn/anaconda ...

  4. 改变vs私有变量的命名规范

    vs默认情况下,private 变量是不带下划线开头的,可以通过设置命名规范,增加下划线开头规则. 点击菜单:[工具]->[选项]->[文本编辑器]->[c#]->[代码样式] ...

  5. 【wayn商城】本地开发指南

    这篇文章给大家带来我自己写的开源项目[wayn商城]的本地开发指南,帮助各位朋友在本地快速运行[wayn商城],避免踩坑,减少不必要的精力在软件下载安装上. waynboot-mall 是一套全部开源 ...

  6. [转帖]故障分析 | 让top命令直接显示Java线程名?-- 解析OpenJDK的一个bug修复

    https://zhuanlan.zhihu.com/p/413136873 作者:阎虎青DBLE 开源项目负责人,负责分布式数据库中间件研发工作:持续专注于数据库方面的技术,始终在一线从事开发:对数 ...

  7. [转帖]关于面试时HA(RAC)会问到的一些问题

    1.什么是RAC(Real Application Cluster)? RAC(Real Application Cluster)是Oracle数据库的一种部署架构,它将多个数据库服务器连接在一起,共 ...

  8. [转帖]linux系统目录结构介绍

    linux的目录结构 Linux系统各个目录的作用 /: 根目录.有且只有一个根目录.所有的东西都是从根目录开始.举个例子:当你在终端里输入"/home",你其实是在告诉服务器,先 ...

  9. [转帖]记录自己安装内存带宽测试工具——Stream过程

    测试环境: CPU:Kunpeng 920 8Core MEM:16G Storage:200G OS:openEuler 20.03 (LTS-SP3) 1 服务器资源监控工具--Stream 1. ...

  10. StorageClass 简单学习

    StorageClass 简单学习 学习资料来源 https://www.jianshu.com/p/5e565a8049fc https://zhuanlan.zhihu.com/p/2895019 ...