用DNSPod和Squid打造自己的CDN (六) 编译并安装Squid

 更新时间:2013年04月20日 00:38:18   投稿:mdxy-dxy  
这篇文章主要介绍centos下编译并安装Squid的方法,需要的朋友可以参考下

第 6 章 编译并安装Squid
首先使用tar把源代码压缩包解压

tar zxvf squid-2.6.STABLE13.tar.gz

解压后,我们得到一个名为 squid-2.6.STABLE13 的目录。进入目录

cd squid-2.6.STABLE13

在configure前,我们必须要先设置cflags,这里我们假设CPU是intel core duo的,cpu family 6,model 14。通过 http://gentoo-wiki.com/Safe_Cflags#Intel_Core_Solo.2FDuo 可以找到对应的优化参数

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

然后通过export命令设置

export CHOST="i686-pc-linux-gnu"
export CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
export CXXFLAGS="${CFLAGS}"

设置完成后,我们可以通过env命令来查看是否设置成功。

然后,我们开始configure源代码。使用下面的命令,把squid安装到/usr/local/squid目录中去。

./configure --prefix=/usr/local/squid --enable-follow-x-forwarded-for --enable-storeio=aufs,ufs --with-maxfd=65536 --with-pthreads --enable-dlmalloc --enable-poll --enable-stacktraces --enable-removal-policies=heap,lru --enable-delay-pools

对应参数的作用可以使用./configure --help得到。
这里大家要注意下,configure前面还有一个./,这个代表当前目录。意思是当前目录下面的configure文件。linux如果要执行当前目录的文件,必须要加上./。如果要执行当前目录下的下级目录里面的文件,可以不用加,比如bin/run。当然,./bin/run也是一样的效果。
接着我们会看到屏幕向下翻滚,出现一大堆checking for …的字样。一直等到下面的文字出现,并且停止,那么configure就算完成了。

config.status: creating tools/Makefile
config.status: creating include/autoconf.h
config.status: executing depfiles commands
[root@cnc squid-2.6.STABLE13]#

然后,我们输入make编译源代码,又是一行行的英文翻滚。是否有点感觉做黑客的味道?我们要做的还是继续等待下面的文字出现

make[2]: Leaving directory `/root/squid-2.6.STABLE13/tools'
make[1]: Leaving directory `/root/squid-2.6.STABLE13/tools'
make[1]: Entering directory `/root/squid-2.6.STABLE13'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/root/squid-2.6.STABLE13'
[root@cnc squid-2.6.STABLE13]#

这样源代码就算编译完成了。然后我们运行make install安装,等待下面的提示

make[2]: Leaving directory `/root/squid-2.6.STABLE13'
make[1]: Leaving directory `/root/squid-2.6.STABLE13'
[root@cnc squid-2.6.STABLE13]#

这里要注意:如果任何一个步骤出现带有error之类的警告,那么就是编译出错,需要检查到底是什么步骤出现问题并且改正。如果严格按照本文来编译,一般是不会出现错误的。另外,cflags参数使用不当同样会造成编译错误。
如果出现编译错误,必须要先make clean,然后重新make。(如果错误是在configure这步就不需要了)

到这里,squid就算是编译安装完毕了。我们可以到/usr/local/squid目录看看,里面已经躺着一大堆文件了。
[root@cnc squid-2.6.STABLE13]# cd /usr/local/squid
[root@cnc squid]# ls -lh
total 72K
drwxr-xr-x 2 root root 4.0K Jul  7 02:27 bin
drwxr-xr-x 2 root root 4.0K Jul  7 02:27 etc
drwxr-xr-x 2 root root 4.0K Jul  7 02:27 libexec
drwx------ 2 root root  16K Jun 15 08:09 lost+found
drwxr-xr-x 3 root root 4.0K Jul  7 02:27 man
drwxr-xr-x 2 root root 4.0K Jul  7 02:25 sbin
drwxr-xr-x 4 root root 4.0K Jul  7 02:25 share
drwxr-xr-x 3 root root 4.0K Jul  7 02:25 var
[root@cnc squid]#

接着我们要做的是配置squid。

相关文章

  • Linux服务器从头配置全过程

    Linux服务器从头配置全过程

    这篇文章主要介绍了Linux服务器从头配置全过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03
  • 详解Mac自带apache配置

    详解Mac自带apache配置

    Mac自身带了apache,可以直接用来搭建本地web容器,配置过程基本同于windows,但有几个点需要注意一下(避免踩坑)
    2017-06-06
  • 在CentOS 7.2下安装Mono 5.0的方法教程

    在CentOS 7.2下安装Mono 5.0的方法教程

    这篇文章主要给大家分享了在CentOS 7.2下安装Mono 5.0的方法教程,文中介绍的非常详细,对大家学习安装Mono具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • 我常用的一些linux命令小结

    我常用的一些linux命令小结

    linux命令熟练掌握后对效率提升有多大,这篇文章主要介绍了我常用的一些linux命令小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Linux系统配置NAT网络模式的详细步骤(附图文)

    Linux系统配置NAT网络模式的详细步骤(附图文)

    本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,特别提到阿里DNS服务的使用和Linux系统中网卡文件的编辑,需要的朋友可以参考下
    2025-04-04
  • Linux系统中systemd服务启动失败问题排查和解决方法(以ad_auth.service为例)

    Linux系统中systemd服务启动失败问题排查和解决方法(以ad_auth.service为例)

    在 Linux 系统中,systemd 是管理服务和进程的核心工具,然而,在实际运维中,我们经常会遇到服务启动失败的情况,本文将以一个具体的案例——ad_auth.service 启动失败为例,详细介绍如何排查和解决此类问题,需要的朋友可以参考下
    2025-01-01
  • Linux下解压查看JAR包的方式

    Linux下解压查看JAR包的方式

    这篇文章主要介绍了Linux下解压查看JAR包的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • IO多路复用之epoll全面总结(必看篇)

    IO多路复用之epoll全面总结(必看篇)

    下面小编就为大家带来一篇IO多路复用之epoll全面总结(必看篇)。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Apache、Nginx下Font Awesome在 Firefox 中不显示问题解决方法

    Apache、Nginx下Font Awesome在 Firefox 中不显示问题解决方法

    这篇文章主要介绍了Apache、Nginx下Font Awesome在 Firefox 中不显示问题解决方法,在配置中增加一个响应头即可解决这个问题,需要的朋友可以参考下
    2014-07-07
  • 详解Linux上svn命令行批量操作

    详解Linux上svn命令行批量操作

    这篇文章主要介绍了详解Linux上svn命令行批量操作的相关资料,linux上的svn命令行批量添加或删除文件,需要的朋友可以参考下
    2017-07-07

最新评论