一、调整内核
修改文件描述符
查看文件描述符大小
yuhailong880106 博主文章分类:缓存 ©著作权
一、调整内核
修改文件描述符
查看文件描述符大小
ulimit –Sn 查看soft nofile
ulimit –Hn 查看hard nofile
修改文件描述符
二、squid安装
1、 添加squid专用账号
[root@squid ~]# groupadd squid
[root@squid ~]# useradd -g squid -s /sbin/nologin squid
2、 添加日志目录、设置缓存和日志目录的权限
[root@squid ~]# mkdir -p /var/log/squid
[root@squid ~]# chown -R squid.squid /var/log/squid/
3、 创建软件存放目录,并上传squid-3.1.10软件包
[root@squid ~]# mkdir /soft
4、 安装支持库
[root@squid ~]# yum -y install gcc gcc-c++ perl
5、 安装squid
[root@squid soft]# tar zxvf squid-3.1.10.tar.gz
[root@squid soft]# cd squid-3.1.10
[root@squid squid-3.1.10]# ./configure --prefix=/usr/local/squid
--enable-async-io=100 --with-pthreads
--enable-storeio="aufs,diskd,ufs"
--enable-removal-policies="heap,lru" --enable-icmp
--enable-delay-pools --enable-useragent-log --enable-referer-log
--enable-kill-parent-hack --enable-arp-acl
--enable-default-err-language=Simplify_Chinese
--enable-err-languages="Simplify_Chinese English" --disable-pool
--disable-wccp
--disable-wccpv2 --disable-ident-lookups
--disable-internal-dns---enable-stacktrace --with-large-files--disable-mempools
--with-filedescriptors=65535 --enable-ssl
--enable-x-accelertor-var
[root@squid squid-3.1.10]# make && make install
&& make install-pinger
报错:如下图
上面图忘截了,报ssl的error
原因:可能是没有安装openssl
openssl-devel
[root@squid squid-3.1.10]# yum -y install openssl openssl-devel
重新configure make后继续报错
如下图:
原因:可能是configure时加的--disable-internal-dns,去掉重新configure
安装成功,至此squid完成安装
下面对squid进行配置
三、Squid配置
Squid的配置文件在: /usr/local/squid/etc/squid.conf目录下
透明代理
172.16.19.92为squid服务器 172.16.19.177为web服务器
在配置文件中添加如下内容
重启squid服务,在浏览器下输入172.16.19.92,即可看到web服务器下的内容
172.16.19.205为客户端访问
一、编译安装
#tar zxvf
squid-3.0.STABLE11.tar.gz //稳定版
#cd squid-3.0.STABLE11
#./configure
--prefix=/usr/local/squid \
--enable-arp-acl \
--enable-linux-netfilter \
--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
注:--enable-internal-dns 做多个网站反向代理时使用,允许使用内部dns,也可改/etc/hosts
二、初始化
#adduser squid
#addgroup squid
#mkdir
/usr/local/squid/var/cache
#mkdir
/usr/local/squid/var/logs
#chown -R squid:squid
/usr/local/squid/var/cache //默认nobody运行
#chown -R squid:squid
/usr/local/squid/var/logs
#squid -z //初始化cache目录 #squid -zX 可查看初始化过程
在/etc/hosts中:加入内部的DNS解析,比如:
192.168.1.65
www.linuxidc.com
三、配置/usr/local/squid/etc/squid.conf
#vim /usr/local/squid/etc/squid.conf
(4700多行配置….. 大多是注释,不管它,光标移到最后加入以下配置)
#==============================cut
here===================================
# 主机名(3.0加入配置),无此项无法启动
visible_hostname
www.linuxidc.com
# 管理员邮箱,会显示在错误信息页面上,方便发生错误时联系!
cache_mgr
root@localhost.localdomain
# 实现透明代理(squid2.7以上),其中vhost是必须的
http_port 80 vhost vport
# 缓存设置
cache_mem 256 MB
maximum_object_size_in_memory
2 MB
# 替换机制(lru叫做“最近不常用的单元”unit一般就是常说object, 也就是当cache
# 中的内容比如内存或硬盘达到上限时就需要进行数据的换进和换出工作)
memory_replacement_policy
lru
# 缓存目录512M,其中一级目录16个,二级256个(每个一级下16个二级)
cache_dir ufs
/usr/local/squid/var/cache 512 16 256
max_open_disk_fds 0
#缓存内容大小控制,当cache目录被占用到97%时,内容将被清空20%
cache_swap_low 80
cache_swap_high 97
# 错误信息目录
error_directory
/usr/local/squid/share/errors/Simplify_Chinese
# 最大和最小缓存对象
minimum_object_size 0 KB
maximum_object_size 30 MB
# 日志格式
logformat combined %>a
%ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st
"%{Referer}>h" "%{User-A
gent}>h" %Ss:%Sh
access_log
/usr/local/squid/var/logs/page_zs_access_log combined
pid_filename
/usr/local/squid/var/logs/squid.pid
# 不记录store.log
cache_store_log none
# 指定代理服务器IP,2.5版本以上都是以cache_peer指定
# 需要将apache端口改成81(包括其虚拟机端口<这里最后补充说明>)
cache_peer 192.168.1.65
parent 81 0 no-query no-digest originserver name=www
cache_peer_domain www
www.linuxidc.com
cache_peer_access www allow
all
# 允许客户端所有请求(这里可以设置拦截url,格式如下面两行缓存设置)
http_access allow all
# 设置不缓存url类型(空格隔开)
acl QUERY urlpath_regex .php
.jsp .asp .pl .cgi
cache deny QUERY
#设置运行squid用户,一般不能以root运行
cache_effective_user squid
cache_effective_group squid
#==============================cut
here================================
四、创建缓存目录
#/usr/local/squid/sbin/squid
–z
启动squid
#/usr/local/squid/sbin/squid
停止squid:
#/usr/local/squid/sbin/squid
-k shutdown
使用新配置启动:
#/usr/local/squid/sbin/squid
-k reconfigure
通过crontab每天0点截断/轮循日志:
0 0 * * *
(/usr/local/squid/sbin/squid -k rotate)
可以用以下命令寻找已经缓存的文件
#cd
/usr/local/squid/var/cache
#find -type f |xargs ls –l
补充说明
端口使用情况:
apache 81
squid 80
这样设置的原因是方便squid直接拦截客户端发来的http请求。如果不更改apache默认的80端口,squi
d设置其他可用端口时,例如3128,需要将80请求转发到3128,命令如下:
#iptables -t nat -A
PREROUTING -s 192.168.1.65 -p tcp --dport 80 -j REDIRECT 3128 注:此
命令必须每次开机后运行,可以写成开机执行任务脚本
所以,本人感觉修改apache端口比较简单,修改步骤:
#vim
/usr/local/apache/conf/httpd.conf
修改:Listen 81
如有虚拟主机设置,则还需要修改虚拟主机配置:
#vim
/usr/local/apache/conf/extra/httpd-vhosts.conf
修改:NameVirtualHost *:81
<VirtualHost *:81>
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M