28.4. 编译和优化

返回到新的 Squid 目录,并在终端中输入以下命令
                 CC="egcs" \
                 CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions" \
                 ./configure \
                 --prefix=/usr \
                 --exec-prefix=/usr \
                 --bindir=/usr/sbin \
                 --libexecdir=/usr/lib/squid \
                 --localstatedir=/var \
                 --sysconfdir=/etc/squid \
                 --enable-delay-pools \
                 --enable-cache-digests \
                 --enable-poll \
                 --disable-ident-lookups \
                 --enable-truncate \
                 --enable-heap-replacement
               

这告诉 Squid 根据这些选项为特定的硬件设置进行配置。

现在,我们必须在服务器上编译和安装 Squid。
                 [root@deep ]/squid-2.3.STABLE2# make -f  makefile
                 [root@deep ]/squid-2.3.STABLE2# make install
                 [root@deep ]/squid-2.3.STABLE2# mkdir -p /var/log/squid
                 [root@deep ]/squid-2.3.STABLE2# rm -rf /var/logs/
                 [root@deep ]/squid-2.3.STABLE2# chown squid.squid /var/log/squid/
                 [root@deep ]/squid-2.3.STABLE2# chmod 750 /var/log/squid/
                 [root@deep ]/squid-2.3.STABLE2# chmod 750 /cache/
                 [root@deep ]/squid-2.3.STABLE2# rm -f  /usr/sbin/RunCache
                 [root@deep ]/squid-2.3.STABLE2# rm -f  /usr/sbin/RunAccel
                 [root@deep ]/squid-2.3.STABLE2# strip /usr/sbin/squid
                 [root@deep ]/squid-2.3.STABLE2# strip /usr/sbin/client
                 [root@deep ]/squid-2.3.STABLE2# strip /usr/lib/squid/dnsserver
                 [root@deep ]/squid-2.3.STABLE2# strip /usr/lib/squid/unlinkd
                 [root@deep ]/squid-2.3.STABLE2# strip /usr/lib/squid/cachemgr.cgi
               

请注意,我们删除了名为 的小脚本RunCacheRunAccel这些脚本在缓存模式或加速器模式下启动 Squid,因为我们使用一个更好的脚本,名为squid位于/etc/rc.d/init.d/ 目录下目录,该脚本利用了 Linuxsystem Vstrip 命令将减小二进制文件的大小以获得最佳性能。

请稍后进行清理
                 [root@deep] /# cd /var/tmp
                 [root@deep ]/tmp# rm -rf squid-version/ squid-version.STABLEz-src.tar.gz
                 [root@deep ]/tmp# rm -rf malloc/ malloc.tar.gz (if you used the GNU malloc external library)
               
rm 命令将删除我们用于编译和安装 Squid 和 GNU malloc 的所有源文件。 它还将从/var/tmp目录中删除 Squid 和 GNU malloc 压缩包。