squid安装和基本配置


squid配置

1 ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl --enable-linux-netfilter --enable-pthreads --enable-err-language="Simplify_Chinese" --enable-storeio=ufs,null --enable-default-err-language="Simplify_Chinese" --enable-auth="basic" --enable-baisc-auth-helpers="NCSA" --enable-underscore

--prefix=/usr/local/squid指定Squid的安装位置,如果只指定这一选项,那么该目录下会有bin、sbin、man、conf等目录,而主要的配置文件此时在conf子目录中。为便于管理,最好用参数--sysconfdir=/etc把这个文件位置配置为/etc。

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

--enable-arp-acl这样可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。

--enable-err-languages="Simplify_Chinese"
--enable-default-err-languages="Simplify_Chinese"上面两个选项告诉Squid编入并使用简体中文错误信息。

--enable-linux-netfilter允许使用Linux的透明代理功能

./configure --prefix=/usr/local/squid /          #指定squid安装目录
--mandir=/usr/share/man /                        #指定man的安装目录
--enable-async-io=20 /                           #采用同步io提高性能,负载高可设大点
--disable-icmp /                                 #禁止icmp协议代理(默认不允许)
--enable-delay-pools /                           #允许延迟限止带宽
--enable-cache-digests /                         #允许缓存摘要,可以加快请求缓冲内容的速度(集群用)
--enable-snmp /                                  #允许snmp协议支持(如用mrtg进行流量监控等)
--disable-ident-lookups /                        #禁止使用RFC931识别
--enable-epoll /                                 #支持epoll的IO模式,2.6以上内核才具有
--enable-basic-auth-helpers="NCSA"               #允许带密码验证,NCSA 风格的用户名和密码档
--enable-linux-netfilter                         #允许透明代理
--enable-arp-acl                                 #允许基于MAC地址的存取过滤
--enable-err-language="Simplify_Chinese"         #支持的错误语言
--enable-default-err-language="Simplify_Chinese" #指定默认的错误语言

 

2 添加squid启动用户和组:
groupadd squid
useradd -g squid squid -s /sbin/nologin
#根据cache_effective_user指定缓冲管理的用户
设定使用缓存的有效用户。缺省为用户nobody,如果你的系统中没有,最好建一个或以非root用户运行Squid


mkdir var/cache  (这个可以用--localstatedir=自已选择缓存安装的路径)       #根据cache_dir指定
chown -R squid:squid /usr/local/squid  (如果是用root用户就不用这步了)     #更改目录所有者和组为squid连同子目录

 

3.squid启动 
我一般都是用root登入系统进行操作,在/usr/local/squid/sbin/目录下
usr/local/squid/sbin/squid -z
usr/local/squid/sbin/squid -D 跳过检测dns启动
usr/local/squid/sbin/squid -k reconfigure 不重启,更新squid配置。
正常的启动和结束squid,squid正常使用。


echo "/usr/local/squid/sbin/squid -s" >> /etc/rc.local 设置squid开机后启动。


正常情况下你想将squid以后台进程运行(不出现在终端窗口里)。最容易的方法是简单执行如下命令:
%squid -s

cache目录初始化可能花费一些时间,依赖于cache目录的大小和数量,以及磁盘驱动器的速度。假如你想观察这个过程,请使用-X选项:

%squid -zX

使用-N选项来保持squid在前台运行,-d1选项在标准错误里显示1级别的调试信息。

%squid -N -d1

假如squid工作正常,页面被迅速载入,就象没使用squid一样。另外,你可以使用squidclient程序,它随squid发布:

% squidclient http://www.squid-cache.org/假如它正常工作,squid的主页html文件会在你的终端窗口里滚动。一旦确认squid工作正常,你能中断squid进程(例如使用ctrl-c)并且在后台运行squid

netstat -naput |grep 3128 查看进程。

监控缓冲日志:
tail -f /usr/local/squid/var/logs/access.log (使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。)


/etc/squid.conf 基本的配置信息

http_port 3128 transparent(cache默认一项)

(在后面可增加些配置,做为squid 反向代理提高网站性能--配置参考squid-单台配置.txt,squid--多台squid配置.txt)

cache_mem 32 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB
cache_dir ufs /usr/local/squid/cache 1000 16 256 (100代表缓存最大为100M;16和256代表一级和二级目录数)
cache_access_log /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log
dns_nameservers 202.96.209.5
unlinkd_program /usr/local/squid/bin/unlinkd
acl acllist src 192.168.9.0/255.255.255.0
acl regular_days time MTWHF 8:00-19:00
acl movie urlpath_regex "/etc/squid/banned.list"(把过滤关键字写到文件中去)
acl banned url_regex iij4u.or.jp(做些控制)
acl cache_prevent1 url_regex cgi-bin /?
acl cache_prevent2 url_regex Servlet
acl all src 0.0.0.0/0.0.0.0 或all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80      # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443 563 # https, snews
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
http_access deny movie regular_days
no_cache deny cache_prevent1
no_cache deny cache_prevent2
http_access deny banned
http_access allow all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
icp_access allow all
http_access allow manager localhost
http_access deny manager
http_access allow localhost
http_access deny all
client_lifetime 2 hours
half_closed_clients off
cache_effective_user squid
cache_effective_group squid(请注意squid对cache及log目录有读写权)
cache_mgr webmaster@test.com.cn(设置邮件)
(httpd_accel_host virtual    
httpd_accel_port 80    
httpd_accel_with_proxy on    
httpd_accel_uses_host_header on 这是2.6以前的透明**设置2.6的只要http_port 3128 transparent就可以了)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装配置Squid,可以按照以下步骤进行操作: 1. 首先,确保你的系统上已经安装Squid软件包。可以使用包管理器来安装,例如在Ubuntu上,可以运行以下命令: ``` sudo apt-get update sudo apt-get install squid ``` 2. 安装完成后,进入Squid配置目录。在Ubuntu上,默认配置文件位于`/etc/squid/squid.conf`。 3. 在编辑器中打开配置文件,开始进行配置。你可以使用任何文本编辑器,例如Vim或Nano。 ``` sudo vim /etc/squid/squid.conf ``` 4. 配置Squid基本设置。你可以设置监听端口、缓存大小、日志文件位置等。根据你的需求进行修改。以下是一些常用的配置选项: - `http_port`:Squid监听的HTTP代理端口,默认为3128。 - `cache_dir`:定义缓存目录及其大小。例如:`cache_dir ufs /var/spool/squid 10000 16 256`。 - `access_log`和`cache_log`:分别定义访问日志和缓存日志的位置。 - `visible_hostname`:定义代理服务器的可见主机名。 5. 配置访问控制列表(ACL)。ACL允许你控制谁可以访问你的代理服务器。你可以设置允许或拒绝特定的IP地址、网络、用户等。以下是一些示例: - `acl localnet src 192.168.0.0/24`:定义一个名为"localnet"的ACL,允许192.168.0.0/24网段的IP访问。 - `http_access allow localnet`:允许"localnet" ACL中定义的IP访问代理。 6. 配置其他高级选项。根据你的需求,你可以设置缓存策略、网络连接设置、身份验证等。这些选项可以根据你的具体需求进行配置。 7. 保存并关闭配置文件。 8. 配置完成后,重新启动Squid服务使更改生效。 ``` sudo service squid restart ``` 现在,你已经成功安装配置Squid代理服务器。你可以通过配置的监听端口使用它作为HTTP代理服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值