linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > unix > unix入门 >
栏目导栏
资料搜索
热门文章
·SCO OpenServer系统手册
·solaris迅速查找手册
·UNIX常用命令-目录及文件操作命
·常见的“压缩与解压缩”方法
·SUN的入门培训资料
·Solaris FAQ 1.2
·UNIX系统操作入门篇
·unix大全下载基地
·教你如何配置安全的SOLARIS系统
·吐血奉献.samba安装设置!
·solaris常用命令及简单解释
·UNIX 常识总集~!
·Windows XP 与 Solaris 10 双操
·隆重推荐:Solaris硬盘分区简介
·UNIX基础知识
最新文章
·Solaris SSH的配置和管理介绍
·在Unix环境下mount ISO文件
·Solaris 管理员常用的168条命令
·solaris raid 制作大集合
·在Solaris下使用USB存储设备
·SecureCRT访问HPUX没办法用vi问
·scounix网络设置心得
·solaris网络配置
·solaris上直接运行linux二进制
·HP Unix的补丁安装
·系统备份与恢复命令:fbackup+
·Oracle 10g基于Solaris 9 x86平
·完全硬盘安装solaris10
·solaris点滴9.29-10.07
·solaris volume manager do RA
Google
 
squid13+solaris10 反向代理配置全攻略
[ 作者:  加入时间:2007-10-24 12:01:16  来自:Linux联盟收集整理 ]
1,准备工作:Solaris10,squid-2.6.STABLE13qUFLinux联盟
2,开始安装和配置:qUFLinux联盟
qUFLinux联盟
1) 查看和修改最大连接数:qUFLinux联盟
  #ulimit -aqUFLinux联盟
core file size        (blocks, -c) unlimitedqUFLinux联盟
data seg size         (kbytes, -d) unlimitedqUFLinux联盟
file size             (blocks, -f) unlimitedqUFLinux联盟
open files                    (-n) 65536qUFLinux联盟
pipe size          (512 bytes, -p) 10qUFLinux联盟
stack size            (kbytes, -s) 8480qUFLinux联盟
cpu time             (seconds, -t) unlimitedqUFLinux联盟
max user processes            (-u) 8485qUFLinux联盟
virtual memory        (kbytes, -v) unlimitedqUFLinux联盟
qUFLinux联盟
修改:vi /usr/include/sys/types.hqUFLinux联盟
qUFLinux联盟
#define FD_SETSIZE 10240qUFLinux联盟
#ifndef _SYS_TYPES_HqUFLinux联盟
#define _SYS_TYPES_HqUFLinux联盟
qUFLinux联盟
2)将squid软件解压和安装到制定目录:qUFLinux联盟
   ./configure --prefix=/usr/local/squid --disable-internal-dns --enable-useragent-log --enable-referer-log(可以看到连接数已经修改为10240)qUFLinux联盟
   make;make install;qUFLinux联盟
3)在squid.conf文件里修改配置:qUFLinux联盟
   vi /usr/local/squid/etc/squid.confqUFLinux联盟
qUFLinux联盟
   增加和修改的部分:qUFLinux联盟
   http_port 80 accel vhostqUFLinux联盟
   hierarchy_stoplist cgi-bin ?qUFLinux联盟
   acl QUERY urlpath_regex cgi-bin \?qUFLinux联盟
   cache deny QUERYqUFLinux联盟
   acl apache rep_header Server ^ApacheqUFLinux联盟
   broken_vary_encoding allow apacheqUFLinux联盟
   cache_mem 1024 MBqUFLinux联盟
   cache_dir ufs /export/home/squid/cache 4000 16 256qUFLinux联盟
   access_log /export/home/squid/logs/access.log squidqUFLinux联盟
   cache_log /export/home/squid/logs/cache.logqUFLinux联盟
   cache_store_log /export/home/squid/logs/store.logqUFLinux联盟
   pid_filename /export/home/squid/logs/squid.pidqUFLinux联盟
   cache_dns_program /usr/local/squid/libexec/dnsserverqUFLinux联盟
   dns_children 10qUFLinux联盟
   hosts_file /etc/hostsqUFLinux联盟
   refresh_pattern ^ftp:           1440    20%     10080qUFLinux联盟
   refresh_pattern ^gopher:        1440    0%      1440qUFLinux联盟
   refresh_pattern .jsp            0       20%     0qUFLinux联盟
   refresh_pattern .               0       20%     2qUFLinux联盟
   acl acceleratedHostSCUT dstdomain .abc.comqUFLinux联盟
qUFLinux联盟
   acl acceleratedProtocol protocol HTTPqUFLinux联盟
   acl acceleratedPort port 80qUFLinux联盟
qUFLinux联盟
   acl all src 0.0.0.0/0.0.0.0qUFLinux联盟
   acl manager proto cache_objectqUFLinux联盟
   acl localhost src 127.0.0.1/255.255.255.255qUFLinux联盟
   acl to_localhost dst 127.0.0.0/8qUFLinux联盟
   acl SSL_ports port 443qUFLinux联盟
   acl Safe_ports port 80          # httpqUFLinux联盟
   acl Safe_ports port 21          # ftpqUFLinux联盟
   acl Safe_ports port 443         # httpsqUFLinux联盟
   acl Safe_ports port 70          # gopherqUFLinux联盟
   acl Safe_ports port 210         # waisqUFLinux联盟
   acl Safe_ports port 1025-65535  # unregistered portsqUFLinux联盟
   acl Safe_ports port 280         # http-mgmtqUFLinux联盟
   acl Safe_ports port 488         # gss-httpqUFLinux联盟
   acl Safe_ports port 591         # filemakerqUFLinux联盟
   acl Safe_ports port 777         # multiling httpqUFLinux联盟
   acl CONNECT method CONNECTqUFLinux联盟
   http_access allow acceleratedProtocol acceleratedPort acceleratedHostABCqUFLinux联盟
qUFLinux联盟
http_access allow manager localhostqUFLinux联盟
http_access deny managerqUFLinux联盟
http_access deny !Safe_portsqUFLinux联盟
http_access deny CONNECT !SSL_portsqUFLinux联盟
http_access deny allqUFLinux联盟
http_reply_access allow allqUFLinux联盟
icp_access allow allqUFLinux联盟
visible_hostname webcache3.abc.comqUFLinux联盟
logfile_rotate 10qUFLinux联盟
always_direct allow acceleratedHostABCqUFLinux联盟
qUFLinux联盟
coredump_dir /export/home/squid/cacheqUFLinux联盟
qUFLinux联盟
4)配置hosts文件qUFLinux联盟
#vi /etc/hostsqUFLinux联盟
#qUFLinux联盟
127.0.0.1       localhostqUFLinux联盟
IP                   www.abc.comqUFLinux联盟
qUFLinux联盟
5)配置/etc/init.d/squidqUFLinux联盟
#!/bin/bashqUFLinux联盟
# squid         This shell script takes care of starting and stoppingqUFLinux联盟
#               Squid Internet Object CacheqUFLinux联盟
#qUFLinux联盟
# chkconfig: - 90 25qUFLinux联盟
# description: Squid - Internet Object Cache. Internet object caching is \qUFLinux联盟
#       a way to store requested Internet objects (i.e., data available \qUFLinux联盟
#       via the HTTP, FTP, and gopher protocols) on a system closer to the \qUFLinux联盟
#       requesting site than to the source. Web browsers can then use the \qUFLinux联盟
#       local Squid cache as a proxy HTTP server, reducing access time as \qUFLinux联盟
#       well as bandwidth consumption.qUFLinux联盟
# pidfile: /home/squid/logs/squid.pidqUFLinux联盟
# config: /usr/local/squid/etc/squid.confqUFLinux联盟
qUFLinux联盟
PATH=/usr/bin:/sbin:/bin:/usr/sbinqUFLinux联盟
export PATHqUFLinux联盟
qUFLinux联盟
qUFLinux联盟
# check if the squid conf file is presentqUFLinux联盟
[ -f /usr/local/squid/etc/squid.conf ] || exit 0qUFLinux联盟
qUFLinux联盟
# don't raise an error if the config file is incompleteqUFLinux联盟
# set defaults instead:qUFLinux联盟
SQUID_OPTS=${SQUID_OPTS:-"-D"}qUFLinux联盟
SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}qUFLinux联盟
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}qUFLinux联盟
qUFLinux联盟
# determine the name of the squid binaryqUFLinux联盟
[ -f /usr/local/squid/sbin/squid ] && SQUID=/usr/local/squid/sbin/squidqUFLinux联盟
[ -z "$SQUID" ] && exit 0qUFLinux联盟
qUFLinux联盟
prog="$SQUID"qUFLinux联盟
qUFLinux联盟
# determine which one is the cache_swap directoryqUFLinux联盟
CACHE_SWAP=`sed -e 's/#.*//g' /usr/local/squid/etc/squid.conf | \qUFLinux联盟
        grep cache_dir |  awk '{ print $3 }'`qUFLinux联盟
[ -z "$CACHE_SWAP" ] && CACHE_SWAP=/export/home/squid/cacheqUFLinux联盟
qUFLinux联盟
RETVAL=0qUFLinux联盟
qUFLinux联盟
start() {qUFLinux联盟
    for adir in $CACHE_SWAP; doqUFLinux联盟
        if [ ! -d $adir/00 ]; thenqUFLinux联盟
             echo -n "init_cache_dir $adir... "qUFLinux联盟
             $SQUID -z -F -D 2>/dev/nullqUFLinux联盟
        fiqUFLinux联盟
    doneqUFLinux联盟
    echo -n $"Starting $prog: "qUFLinux联盟
    $SQUID $SQUID_OPTS 2> /dev/nullqUFLinux联盟
    RETVAL=$?qUFLinux联盟
    if [ $RETVAL -eq 0 ]; thenqUFLinux联盟
       timeout=0;qUFLinux联盟
       while : ; doqUFLinux联盟
          [ ! -f /export/home/squid/logs/squid.pid ] || breakqUFLinux联盟
          if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; thenqUFLinux联盟
             RETVAL=1qUFLinux联盟
             breakqUFLinux联盟
          fiqUFLinux联盟
          sleep 1 && echo -n "."qUFLinux联盟
          timeout=$((timeout+1))qUFLinux联盟
       doneqUFLinux联盟
    fiqUFLinux联盟
    [ $RETVAL -eq 0 ] && echo "OK"qUFLinux联盟
    [ $RETVAL -ne 0 ] && echo "Failed"qUFLinux联盟
    echoqUFLinux联盟
    return $RETVALqUFLinux联盟
}qUFLinux联盟
qUFLinux联盟
stop() {qUFLinux联盟
    echo -n  $"Stopping $prog: "qUFLinux联盟
    $SQUID -k check >/dev/null 2>&1qUFLinux联盟
    RETVAL=$?qUFLinux联盟
    if [ $RETVAL -eq 0 ] ; thenqUFLinux联盟
        $SQUID -k shutdown &qUFLinux联盟
        timeout=0qUFLinux联盟
        while : ; doqUFLinux联盟
                [ -f /export/home/squid/logs/squid.pid ] || breakqUFLinux联盟
                if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; thenqUFLinux联盟
                    echoqUFLinux联盟
                    return 1qUFLinux联盟
                fiqUFLinux联盟
                sleep 2 && echo -n "."qUFLinux联盟
                timeout=$((timeout+2))qUFLinux联盟
        doneqUFLinux联盟
        echo "OK"qUFLinux联盟
        echoqUFLinux联盟
    elseqUFLinux联盟
        echo "Failed"qUFLinux联盟
        echoqUFLinux联盟
    fiqUFLinux联盟
    return $RETVALqUFLinux联盟
}qUFLinux联盟
qUFLinux联盟
reload() {qUFLinux联盟
    $SQUID $SQUID_OPTS -k reconfigureqUFLinux联盟
}qUFLinux联盟
qUFLinux联盟
restart() {qUFLinux联盟
    stopqUFLinux联盟
    startqUFLinux联盟
}qUFLinux联盟
qUFLinux联盟
qUFLinux联盟
rhstatus() {qUFLinux联盟
    status $SQUIDqUFLinux联盟
    $SQUID -k checkqUFLinux联盟
}qUFLinux联盟
qUFLinux联盟
probe() {qUFLinux联盟
    return 0qUFLinux联盟
}qUFLinux联盟
qUFLinux联盟
case "$1" inqUFLinux联盟
start)qUFLinux联盟
    startqUFLinux联盟
    ;;qUFLinux联盟
qUFLinux联盟
stop)qUFLinux联盟
    stopqUFLinux联盟
    ;;qUFLinux联盟
qUFLinux联盟
reload)qUFLinux联盟
    reloadqUFLinux联盟
    ;;qUFLinux联盟
qUFLinux联盟
restart)qUFLinux联盟
    restartqUFLinux联盟
    ;;qUFLinux联盟
qUFLinux联盟
status)qUFLinux联盟
    rhstatusqUFLinux联盟
    ;;qUFLinux联盟
qUFLinux联盟
probe)qUFLinux联盟
    exit 0qUFLinux联盟
    ;;qUFLinux联盟
qUFLinux联盟
*)qUFLinux联盟
    echo $"Usage: $0 {start|stop|status|reload|restart}"qUFLinux联盟
    exit 1qUFLinux联盟
esacqUFLinux联盟
qUFLinux联盟
exit $?
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息