您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Nginx+Squid+Apache2

添加时间:2011-3-26  添加: admin 

--enable-storeio=ufs,null //使用的文件系统通常是默认的ufs,不过如果想要做一个不缓存任何文件的代理服务器,就需要加上null文件系统。

--enable-underscore //允许解析的URL中出现下划先,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址。

#make && make install

# /usr/local/squid/sbin/squid -z //测试Squid运行状况

# chown -R squid.squid /usr/local/squid/var/

修改squid配置文件

#vim /usr/local/squid/etc/squid.conf

#########一些访问控制的设置##############

acl manager proto cache_object

acl localhost src 127.0.0.1/32

acl to_localhost dst 127.0.0.0/8

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network

acl localnet src 172.16.0.0/12 # RFC1918 possible internal network

acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

acl SSL_ports port 443

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 # https

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

http_access allow all

http_access allow localnet

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

icp_access allow localnet

icp_access deny all

htcp_access allow localnet

htcp_access deny all

##### 配置 squid2、squid3 为其邻居,当 squid1 在其缓存中没有找到请求的资源时,通过 ICP 查询去其邻居中取得缓存############

cache_peer s2.test.com sibling 80 3130

cache_peer s3.test.com sibling 80 3130

#### 将pic.test.com 域的请求通过 RR 轮询方式转发到apache节点############

squid1 的父节点,originserver 参数指明是源服务器, round-robin 参数指明 squid 通过轮询方式将请求分发到其中一台父节点; squid 同时会对这些父节点的健康状态进行检查,如果父节点 down 了,那么 squid 会从剩余的 origin 服务器中抓取数据.我们这里只有一个节点.

cache_peer 192.168.128.136 parent 80 0 no-query originserver round-robin name=web1

cache_peer_domain web1 pic.test.com

hierarchy_stoplist cgi-bin

####### 对 squid 的一些优化 ###############

maximum_object_size_in_memory 1024 KB //内存中缓存的最大对象 1024KB

maximum_object_size 10240 KB // 能缓存的最大对象为 10M

cache_mem 64 MB //squid 用于缓存的内存量

#####日志和缓存目录的设置###########

access_log /usr/local/squid/var/logs/access.log squid

cache_log /usr/local/squid/var/logs/cache.log

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern (cgi-bin|\?) 0 0% 0

refresh_pattern . 0 20% 4320

cache_effective_user squid

cache_effective_group squid

######### 设定 squid 的主机名 , 如无此项 squid 将无法启动

visible_hostname s1.test.com

############# 配置 squid 为加速模式 #################

http_port 80 accel vhost vport

icp_port 3130

coredump_dir /usr/local/squid/var/cache

在hosts添加如下行.让squid能找到其邻居.

#cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

192.168.128.137 s2.test.com

192.168.128.139 s3.test.com

其他两台squid配置跟其一致.只要修改上面标明颜色的地方和/etc/hosts文件即可.

Squid开机自动启动的实现:

# vim /etc/init.d/squid

#!/bin/sh

#chkconfig: 35 85 15

#deion: squid

#function: use this to stop,start,restart squid....

#author:hsf

squid_BIN=/usr/local/squid/sbin/squid

squid_CONF=/usr/local/squid/etc/squid.conf

squid_PID=/usr/local/squid/var/logs/squid.pid

squid_PORT=`/bin/netstat -ntpl |grep squid |grep 80 |wc -l`

case $1 in

start)

if [ $squid_PORT = 0 ];then

echo "staring squid..."

$squid_BIN

else echo "starting squid failed,Address already in use..."

exit 2

fi

;;

stop)

echo "stoping squid..."

if [ -f $squid_PID ];then

kill -QUIT `cat $squid_PID`

else echo "squid is no running...."

fi

;;

status)

if [ -f $squid_PID ];then

echo "squid is running..."

else echo "squid is stop..."

fi

;;

restart)

if [ -f $squid_PID ];then

kill -HUP `cat $squid_PID`

else echo "squid is no running...."

fi

;;

*)

echo "Usage: $0 {start|stop|status|restart}"

exit 1

;;

esac

Apache安装(192.168.128.136)

见apache安装配置文档.
 


关键字:关键字:Nginx Squid Apache

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站