- 浏览: 873503 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (341)
- Ajax (1)
- Asp.net (18)
- Java (5)
- Php (27)
- JavaScript (19)
- jQuery (12)
- 正则表达式 (4)
- SEO优化 (1)
- Windows 应用 (5)
- Flash (12)
- Asp (9)
- CSS (10)
- SQL Server (6)
- Flex (1)
- Ubuntu (0)
- mysql (34)
- PHP框架 (2)
- Apache (10)
- html (3)
- 网页切入 (1)
- Linux (33)
- vc++ (38)
- 友情链接 (0)
- firefox 插件 (4)
- SEO (1)
- Apache 压力测试 (1)
- imacros教程(一):imacros变量 (0)
- JS调用imacros所用到的函数 (0)
- imacros教程(三):调用csv文件 (1)
- imacros教程(二):JS调用imacros所用到的函数 (1)
- imacros 常用代码 (1)
- CSS最大宽度 (1)
- svn (1)
- WordPress (1)
- 网线的两种接法 (1)
- TP-LINK WR 系列无线路由器安全设置 (1)
- mysql talble is full ERR1114 (0)
- 解决mysql的内存表“table is full”错误 (1)
- linux 用户操作 (1)
- CentOS 挂载 ntfs 移动硬盘 (1)
- linux 储蓄设备操作 (1)
- Starting MySQL. ERROR! Manager of pid-file quit without updating file. (1)
- extmail 1.1 升级到 1.2 (1)
- extmail (0)
- emos (2)
- squid 3.0 (2)
- centos 6 minimal 安装 (1)
- linux实用命令详解 (1)
- win7 (1)
- php 字符串大小写转换 (1)
- 跟踪路由 tracert (1)
- css英文单词首字母添加样式 (1)
- jquery iframe 操作 (1)
- php 获取时间今天明天昨天时间戳 (1)
- php 上传限制 (1)
- ckeditor 配置 (1)
- flash 显示在 div 下 (1)
- flash + php 留言本乱码问题 (1)
- squid purge 出现 access denied 的解决方法 (1)
- delphi (1)
- 让delphi嵌入的WebBrowser无边框无滚动条 (1)
- delphi打开一个IE窗口 (1)
- delphi 获取鼠标当前位置的相对坐标 (1)
- delphi 获取可执行文件的当前路径 (1)
- delphi webbrowser 常用方法示例 (1)
- javascript 禁止鼠标右键... (1)
- delphi 播放gif 动画 (1)
- delphi弹出信息框大全 (1)
- Delphi中禁止WebBrowser右键的方法 (1)
- DELPHI 让程序只能运行一次 (1)
- Delphi XE2 破解补丁注册机下载使用教程 (1)
- Delphi RAD Studio XE2编译程序体积大的问题 (1)
- delphi 制作圆角窗口 (1)
- delphi 窗口 (1)
- delphi 窗体全透明,但窗体上的控件不透明 (1)
- delphi 窗口阴影 (1)
- delphi 获取任务栏高度 (1)
- delphi bsNone 之后任务栏右键无反应 (1)
- delphi 程序打开隐藏软件任务栏条 (0)
- delphi bsNone后的相关问题解决方法 (1)
- delphi bsNone 后显示边框 (1)
- delphi url编码操作 (1)
- delphi 调用exe文件 (1)
- delphi dll窗体的制作和调用 (1)
- delphi dll 调用窗体时的数据传递 (0)
- delphi 窗口显示在屏幕右下角 (1)
- 内网穿透&UDP打洞 (1)
- delphi idhttp post应用 (1)
- inno setup 开机启动 (1)
- inno setup 添加桌面快捷方式 (1)
- Delphi实现程序只运行一次并激活已打开的程序 (1)
- 解决 float point division by zero (1)
- Delphi 窗体显示在最前面,并获得焦点 (1)
- delphi 点击关闭按钮时隐藏窗口 (1)
- delphi 非客户区右键点击 (1)
- delphi真正可以截获WINDOWS关机消息的源码 (1)
- delphi utf8转码 (1)
最新评论
-
zj7243886:
非常感谢,这东西解决我的问题;谢谢你的分享
Linux 安装 jpeg-6b 错误 ./libtool 命令未找到 -
丶Sk.Mabon:
能让html也绕过吗。。机房限制很悲剧
绕过 <?PHP exit(’Access Denied’); ?> 限制 -
丶Sk.Mabon:
请教gzip.php 的写法。万分感谢!
apache 开启 gzip -
hyxj1220:
火狐中单纯的定义这样的样式,貌似不行,必须要让容器浮动
英文长文本换行CSS -
逆水寒龙:
太好了,正好用上,谢谢博主共享
Asp.net 将中文汉字转换成拼音首字和拼音全拼
1.安装前准备
设置网卡
外网网卡:eth0
ip:60.190.212.114
网关:60.190.212.113
子网掩码:255.255.255.0
dns:202.96.107.28
202.96.107.29
内网网卡:eth1
ip:192.168.0.10
激活网卡:
# vi /etc/sysconfig/network-script/ifcfg-eth0
ONBOOT=yes 修改no 为yes 即可激活
删除已装软件
rpm -q squid
rpm -e squid --nodeps
修改hostname
# hostname 查看主机名
# hostname squid.localhost
vi /etc/sysconfig/network
vi /etc/hosts
在以上2个文件中修改相应主机名
然后
# ping squid.localhost
显示为 127.0.0.1 为正常
下载软件到 /usr/local/src/ 文件夹下
wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE13.tar.gz
2.开始安装
解压软件
# cd /usr/local/src/
# tar zxvf squid-3.0.STABLE13.tar.gz
cd squid-3.0.STABLE13
安装配置
./configure --prefix=/usr/local/squid --enable-arp-acl --enable-linux-netfilter --enable-linux-tproxy --enable-pthreads --enable-err-language="Simplify_Chinese" --enable-default-err-language="Simplify_Chinese" --enable-underscores --disable-internal-dns --enable-pf-transparent --enable-referer-log
开始安装
# make && make install
3.开始配置squid
添加 squid 用户
# useradd squid -M -c "Squid user" -d /dev/null -s /sbin/nologin
新建一个用于运行squid的用户和组:
#groupadd squid
#useradd –g squid –s /sbin/nologin squid
修改/usr/local/squid3/var/目录的属主和属组为squid
#chown squid:squid /usr/local/squid/var/
修改 squid.conf
# cd /usr/local/squid/etc/
# vim squid.conf
http_port 设定Squid的代理端口和开启透明代理(加上IP地址,squid就不会监听外部的网络接口)
--> http_port 3128 transparent vhost vport
cache_mem 8 MB 共享内存大小(squid在提供服务的时候所使用的内存)
--> cache_mem 128 MB
maximum_object_size_in_memory 8 KB (最大缓存文件大小,超过此值则不缓存)
--> maximum_object_size_in_memory 512 KB
memory_replacement_policy 替换机制(lru叫做 最近不常用的单元 unit一般就是常说的 object 也就是当cache中的内容比如内存或硬盘达到上限时的 那么就需要进行数据的换进和换出工作)
--> memory_replacement_policy lru
cache_dir ufs /usr/local/squid3/var/cache 10000 16 256 (/tmp size L1 L2) 这里的10000是10000MB为10G
100G其中1层目录16个,并且每个1层目录下又有256个2层目录[或者说子目录]
#磁盘缓存的类型和目录,大小,一二级目录的设置,这里磁盘缓存大小是10G
ufs 是一种文件存储方式,因为os一般都是从内存获取数据 那么内存的东西必须最后写的硬盘上~
sync 同步的时候用的ufs,那么squid也是一样
ufs 一般是同时写入内存和硬盘
注意:size是按照MB为单位的也就这个目录中最大存储容量的上限
--> cache_dir ufs /tmp1 10000 16 256
max_open_disk_fds 0
--> max_open_disk_fds 0
minimum_object_size 0 KB
--> minimum_object_size 0 KB
maximum_object_size 4096 KB 大于此容量的对象将不会保存到磁盘上,默认设置为4MB,过大的文件在下次重启后需要重新获取
--> maximum_object_size 10 MB
maximum_object_size_in_memory 最大位于内存对象的大小,默认大小8K,依服务器内存大小来定
--> maximum_object_size_in_memory 2 MB
reply_body_max_size 10240000 allow all //禁止下载超过10M的文件
--> reply_body_max_size 10240000 allow all
dns_nameservers 172.16.0.2 //使用内部DNS(可以不用设置)
logformat squid 设置access_log中日志存储的格式~
--> logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log 客户端请求的日志
--> access_log /usr/local/squid3/var/logs/access.log squid
cache_log squid自身的运行日志
--> cache_log /usr/local/squid3/var/logs/cache.log
pid_filename 此三项是设置PID和日志文件位置
--> pid_filename /usr/local/squid3/var/logs/squid.pid
cache_store_log none 不记录store.log 我配置的是可以允许
--> cache_store_log none
visible_hostname squid.localhost 只是标签 有利于检查是否你的那台设备在提供服务!这里填写的是当前服务器的主机名 hostname
--> visible_hostname squid.localhost
cache_effective_user squid 设定用于运行squid的帐户
--> cache_effective_user squid
cache_effective_group squid 设定用于运行squid的组
--> cache_effective_group squid
acl QUERY urlpath_regex cgi-bin .php .jsp .asp .aspx .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe 将这些后缀名的文件不进行缓存
--> acl QUERY urlpath_regex cgi-bin .php .jsp .asp .aspx .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe
cache deny QUERY 将此行添加在 acl QUERY urlpath_regex cgi-bin .php .jsp .asp .aspx .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe的下面
--> cache deny QUERY
http_access
基本上的 deny all 都修改成 allow all
修改 acl
our_networks
cache_peer newtest.haishang.com parent 80 0 no-query round-robin max-conn=32 originserver
验证squid.conf的语法和配置
# /usr/local/squid/sbin/squid –k parse
初始化cache目录,在初次运行squid之前,或者无论何时你增加了新的cache_dir,你必须初始化cache目录。
# /usr/local/squid/sbin/squid –z
前台启动squid,查看是否报错:
#/usr/local/squid3/sbin/squid –N –d1
…
…
…
2010/07/06 05:42:44| Ready to serve requests.
…
…
看到有上面那句就可以试着启动squid了
透明代理设置(eth0是外部网卡,eth1是内部网卡)
Squid要使用透明代理功能的话,在配置安装时必须在加上
--enable-linux-netfilter这个选项,还必须要开启内核的路由转发功能(前面已经有开启)
配置iptables
把80端口的包全部转向3128端口:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
动态地址转换:
# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
保存iptables:
# service iptables save
重启iptables:
# service iptables restart
透明代理中一定要把客户端的网关设置成squid的内部网卡IP,否则无法正常代理
客户端还需要设置一个有效的DNS,普通代理则不需要
设置开机启动
# vi /etc/rc.d/rc.local
添加以下行
/usr/local/squid/sbin/squid –s
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
service iptables save
service iptables restart
3.Squid语法
1、启动squid服务:
#/usr/local/squid/sbin/squid –s
2、停止squid服务
#/usr/loca/squid/sbin/squid –k shutdown
3、Squid用法帮助信息
#/usr/local/squid/sbin/squid –h
4、在初次运行squid之前,或者无论何时你增加了新的cache_dir,你必须初始化cache目录
#/usr/local/squid/sbin/squid –z
5、重配置运行中的squid最好的方法是使用squid –k reconfigure命令
#/usr/local/squid/sbin/squid –k reconfigure
6、周期性的滚动日志文件,以阻止它们变得太大
#/usr/local/squid/sbin/squid –k rotate
7、在前台启动squid,并输出启动过程
#/usr/local/squid/sbin/squid –N –d1
8、可以根据这个测试命令来验证squid.conf的语法和配置
#/usr/local/squid/sbin/squid –k parse
4.Squid优化
1、日志周期性滚动:(在每月每周每天的4点执行日志周期性滚动)
0 4 * * * /usr/local/squid3/sbin/squid –k rotate &
2、Log目录周期性检查:
0 4 * * 6 /usr/local/squid3/movelog.sh &
脚本内容如下:movelog.sh
#!/bin/bash
SLOG=`du –sh /usr/local/squid3/var/logs/ | awk ‘{print $1}’ | awk –F ‘.’ ‘{print $1}’`
if [ $SLOG –gt 100 ];then
if [ ! –d /var/log/squid ];then
mkdir /var/log/squid
else
mv /usr/local/squid3/var/logs/ /var/log/squid
echo “move squid log to /var/logs” | mail –s liuyaof@fuch.net
fi
else
echo “The size of /usr/local/squid3/var/logs/ is `du –sh /usr/local/squid3/var/logs/ | awk ‘{print $1}’ | awk –F ‘M’ ‘{print $1}’`”
fi
3、cache周期性优化
0 4 * * * /usr/local/squid3/clear_squid_cache.sh gif &
0 4 * * * /usr/local/squid3/clear_squid_cache.sh swf &
0 4 * * * /usr/local/squid3/clear_squid_cache.sh gif &
脚本内容如下:
#cat clear_squid_cache.sh
#!/bin/bash
squidcache_path="/usr/local/squid3/var/cache"
squidclient_path="/usr/local/squid3/bin/squidclient"
grep -a -r $1 $squidcache_path/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}' | grep [a-zA-Z0-9]$ > cache_list.txt
for url in `cat cache_list.txt`; do
$squidclient_path -m PURGE -p 3128 $url
Done
+++++++++++++++++++++++++++++++++++++++++++++++
Squid脚本:
#cat /usr/local/squid3/squid.sh
#!/bin/bash
# this script is for Squid
case "$1" in
start)
/usr/local/squid/sbin/squid –s
sleep 1
if netstat -tnulp | grep squid ;then echo "squid is start" ;else echo "please check it";fi
;;
stop)
/usr/local/squid/sbin/squid -k shutdown
sleep 1
if ! netstat -tnulp | grep squid ;then echo "squid is stop" ;else echo "please check it";fi
;;
status)
if netstat -tnulp | grep squid ;then echo "squid is running" ;else echo "squid is stop";fi
;;
reload)
/usr/local/squid/sbin/squid -k reconfigure
sleep 1
if netstat -tnulp | grep squid ;then echo "squid is reload" ;else echo "please check it";fi
;;
restart)
if netstat -tnulp | grep squid ;then echo "Squid proess is running" ;else
/usr/local/squid/sbin/squid -k shutdown && /usr/local/squid/sbin/squid -s
sleep 1
if netstat -tnulp | grep squid ;then echo "squid is restart" ;else echo "please check it";fi
fi
;;
esac
5.脚本用法
Cache脚本用法:
清除所有Flash缓存(扩展名.swf)
#/usr/local/squid3/clear_squid_cache.sh swf
Squid.sh脚本用法:
/usr/local/squid3/sbin/squid.sh | squid.sh start | stop | status | restart | reload
6.常见问题
在运行一段时间后,squid变慢了
减少cache_mem值
关掉内存池,用该选项:
memory_pools off
清掉/usr/local/squid3/var/cache中没用的内存
定期执行文档中给出的clear_squid_cache.sh脚本
8.实例
禁止终端用户在任何客户机上下载文件扩展名为mp3、exe、zip和rar类型的文件
acl badfile urlpath_regex –i \.mp3$ \.exe$ \.zip$ \.rar$ \.rmvb$ \.rm$ \.mp4$ ……
http_access deny badfile
禁止客户机IP地址在192.168.2.0子网的所有终端客户在星期一到星期五的9:00到18:00访问Internet资源
acl clientnet src 192.168.2.0/24
acl worktime time MTWHF 9:00-18:00
http_access deny clientnet worktime
限制IP地址为192.168.1.102的客户机并发连接的最大连接数为5
acl clientip src 192.168.1.102
acl clientmaxconn maxconn 5
http_access deny clientip clientmaxconn
禁止所有终端用户访问域名包含为google.com的网站
acl badurl url_regex –i google.com
http_access deny badurl
禁止所有终端用户访问域名为www.google.com的网站
acl baddomain dstdomain –i www.google.com
http_access deny baddomain
- squid-3.0.STABLE13.tar.gz (2.3 MB)
- 下载次数: 0
发表评论
-
lamp 隐藏 http 头信息
2013-01-29 20:34 748lamp 隐藏 http 头信息 apache中httpd ... -
linux 单网卡设定多个ip
2011-11-06 03:41 1127# cd /etc/sysconfig/network-scr ... -
iptables 端口映射
2011-11-05 07:38 1583centos 系统端口映射 内网: 192.168.0 ... -
squid + iptables 做反向代理和透明代理
2011-11-05 07:04 2061squid + iptables 做反向代 ... -
Linux bind 域名服务器安装配置
2011-10-12 16:36 1525系统环境 CentOS 5.5 x64 检查是否安装 BIN ... -
CENTOS 手动修改系统时间
2011-09-09 15:13 1853我们一般使用“date -s”命令来修改系统时间。比如将系统时 ... -
php 不重新编译 添加 ftp 模块
2011-09-02 01:11 1578以添加ftp模块为例子进入源码目录cd php-5.2.9/e ... -
CentOS 5.5 x64 源码安装 LAMP
2011-08-25 21:41 23751.系统 CentOS5.5 x64 配置好IP地址,主机名等 ... -
Linux 设置ip
2011-08-25 17:53 1600手动配置linux(centos)的I ... -
Linux 关机和重启命令
2011-08-25 17:17 844如果你很急着关机或者重启话,那么关机就是init 0,重启就是 ... -
linux 防火墙设置
2011-08-25 13:34 927service iptables stop 关闭防火墙 ... -
Linux 压缩命令
2011-03-27 15:30 1051Linux压缩解压不只是一个,有多种方式可以选择,就算是同一个 ... -
vim 常用命令
2011-01-10 05:11 1133vim 一般模式下 h,j,k,l 左上下右键 dd ... -
CentOS 5.5配置Web高可用集群
2011-01-10 04:50 1427一、环境概述 1、操作 ... -
Linux中把普通用户提升为root用户权限:
2010-12-30 18:02 4507Linux中把普通用户提升为root用户权限: 1、修改/e ... -
RAR for Linux 命令详解
2010-12-29 21:56 961RAR for Linux 命令详解 2008- ... -
centos安装配置LAMP扩展,ssh,svn,服务管理
2010-12-29 19:53 1439推荐网站 http://blog.chinau ... -
CentOS 修改IP地址, DNS, 网关
2010-12-29 18:17 985由于修改网关总是忘 ... -
centos的用户、组权限、添加删除用户等操作的详细操作命令
2010-12-29 17:29 22601.Linux操作系统是多用户多任务操作系统,包括用户账户和组 ... -
CentOS中用top命令查看CPU使用率
2010-12-29 17:16 1610先来一些CentOS(Linux)的基础知识:用top命令查看 ...
相关推荐
squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理squid反向代理
Squid缓存代理服务器的安装与配置(普通代理 透明代理 反向代理)
Squid 2.6 反向代理配置.doc, Squid 代理配置
主要例出squid.conf的几种反向代理的配置例子
有需要的可以学习,可以给您的网站做反向代理加速。
Centos中Squid代理服务器安装和基本设置(含反向代理) 给网络班的学生上课时使用的简单教学课件。
利用squid做反向代理服务器,squid反向代理配置
一、安装反向代理服务器 1.下载反向代理服务器软件采用squid,下载地址: http://www.squid-cache.org/Versions/v2/2.2/squid-2.2.STABLE5-src.tar.gz 下载后存放在/usr/local/squid/src目录里,文件名是 squid-2.2...
Squid 代理服务器.ppt Squid 代理服务器.ppt
Squid代理服务器原理
网络管理与维护 实验报告(九):squid代理服务器.doc
RHEL5上用LVS和heartbeat实现squid反向代理的高可用性
详细解析用Squid实现反向代理的方法.。。。。
一、squid代理服务器概述; 二、squid代理服务器模式; 三、案例:搭建squid代理传统代理服务器; 搭建squid代理传统代理服务器
Linux运维-6.集群-集群视频-5、Squid缓存、代理服务-20、Squid 反向代理、ACL访问控
也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的...
本文介绍Linux下非常著名、常用的Squid代理服务器的使用,并着重讲述如何使用其提供的访问控制策略,来保证代理服务器的合法使用。
构建Linux下的Squid代理服务器.pdf
基于linux的Squid代理服务器的架设分析.doc
Squid是一个高性能的代理缓冲服务器,也许你已经用过Windows平台下的WinGate,MS Proxy Server等功能类似的产品。Squid是一个应用级代理,在保证客户端主机和服务器主机网络连通后,需要客户端软件做相应的设置后...