存档在 ‘linux 应用’ 分类

HTTP 头部 cache 控制字段

2010年1月21日

关于 cache 控制

HTTP/1.0 提供了一种简单的 cache 机制。一个源头服务器,使用一个带有时间戳的 Expires 头部标识在一个响应中,这样的意思就是表示何时过期。进一步还有条件请求:在请求头部中包含一个 If-Modified-Since 字段,指定的是响应头中的 Last-Modified 时间戳,这样服务器就响应 304,暗示被缓存的条目是有效的,或者重新取一遍条目之后返回 200。
HTTP/1.0 还包含一个机制:Pragma: no-cache,对于客户端而言,意思是一个请求不能从 cache 中获得。
HTTP/1.0 的机制大体上是没有问题的,但是可能有缺点,没有允许服务器或者客户端对 cache 进行完全的或者明确的控制。

HTTP/1.1 尝试提供明确的和可扩展的协议机制,保留了 1.0 中的设计。
在 1.1 中,一个 cache 条目在达到过期时间之前是新鲜的,在过期之后则是不新鲜的。一个 cache 不需要丢弃一个不新鲜的条目,但是在返回给客户端之前,它通常必须重新从源头服务器那里获得,协议允许源头服务器和终端用户来覆盖这种行为。

在 HTTP/1.0 中,一个 cache 条目使用 If-Modified-Since 条目来重新强刷获得一个条目,它使用了绝对时间戳,带来的明显问题就是时间偏移可以。因此在 HTTP/1.1 中引入了更一般的概念:etag。HTTP 服务器将 etag 头部放在响应中。但问题是在大网站中多台机器的同一资源 etag 应该相同,但实际计算出来不同,因此不适合使用。 » 阅读更多: HTTP 头部 cache 控制字段

Typical Configurations Overview For Nginx HTTP(S) Reverse Proxy/Web Server

2010年1月21日

In one of my previous posts I have described very powerful Unix admin tool – Nginx. As I said, main problem of this server is lack of English documentation. That is why I decided to write this post with list of typical nginx configurations and example configuration snippets for these configurations. » 阅读更多: Typical Configurations Overview For Nginx HTTP(S) Reverse Proxy/Web Server

Keepalived与Haproxy和LVS应用一则实例

2010年1月21日

前言: keepalived与Haproxy keepalived与LVS搭配一起使用的文章不少,这次要讲述的是我实际应用中的一种实例.

环境:
Centos 5.2

Slackware 12.1.0

keepalived 1.1.17

Haproxy  1.3.17

ipvsadm 1.24 » 阅读更多: Keepalived与Haproxy和LVS应用一则实例

rndc-key rebuild

2010年1月17日
metaserver:/etc/bind# rndc reload
rndc: connection to remote host closed
This may indicate that
* the remote server is using an older version of the command protocol,
* this host is not authorized to connect,
* the clocks are not syncronized, or
* the key is invalid.

use "rndc-confgen" command  rndc-key rebuild
#rndc-confgen -a

/etc/init.d/bind9 restart    //OK!

使用whois3得网通 电信 铁通的IP地址段

2010年1月17日
wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz
tar xzvf ripe-dbase-client-v3.tar.gz
cd whois-3.1
./configure
make
 
中国网通: whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > /var/cnc
中国电信: whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > /var/chinanet
中国铁头: whois3 -h whois.apnic.net -l -i mb MAINT-CNC-CRTC > /var/crtc

varnish 允许客户端强制更新

2010年1月17日

varnish 允许客户端强制更新

varnish   Enable force-refresh from clients

当接收来自客户端的“强制刷新”的要求,这个配置会从后端服务器提取内容要求,更新缓存,并提供给客户。

对于大型缓存,履行不从客户缓存请求最好的处理是通过设置在vcl_hit obj.ttl = 0和重新启动的要求。这是最好调用您的VCL purge_url,因为它避免了建立一个大型清洗名单和可能耗尽内存资源。

看到这个细节上的邮件列表的讨论。

» 阅读更多: varnish 允许客户端强制更新

vsftp日志设置

2010年1月15日
问题描述
昨天刚向实验室的同学公开一个movie帐户,其实是想大家都能telnet,或ssh上,有空玩玩。没想到有人就用这个帐号在ftp上删除了文件。
首 先vsftp默认只有上下传记录,根本没有本地用户的删除或建目录的操做。这个在lastlog里也不会有痕迹。所以对公开账号千万不能同时是本地账号。 如果是本地账号,那也要控制该账号确定文件的删除修改权限。不要让该用户对其他文件有破坏性权限。这种控制会积累很多管理漏洞,所以最好就是给虚拟用户, 或者ftp只能使用匿名账号(当然,这个管理员可以灵活控制自己的使用权限)。
因此在开放用户账号时要考虑日志的决定存在,不能出现这种漏空监控。
出现这种问题的关键就是日志与服务没有绝对一致。比如ftp本来只是用来上传或下载,这里却还给了管理文件的权限,而vsftp对管理文件的却没有监控,太失败了。 » 阅读更多: vsftp日志设置

Varnish无法分配内存导致自动重启子进程的问题

2010年1月13日

我的Varnish服务器在访问量达到一定程度的时候会出现自动重启子进程的问题,从日志中出现重启子进程时有以下错误提示

» 阅读更多: Varnish无法分配内存导致自动重启子进程的问题

redhat 5.2 调整snmp debug级别

2010年1月9日
在用redhat linux 5.2版本后,有一个问题就是有很多snmpd log信息记录在/var/log/messages里,在4u4里是不记录的,导致messages产生大量的重复信息,好多有用的信息很快就会被淹 没,这里通过调整snmp debug级别解决这个问题 » 阅读更多: redhat 5.2 调整snmp debug级别

HTTP加速器 Varnish 2.0.6 发布

2010年1月8日

Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (http://www.vg.no) 使用3台Varnish代替了原来的12台squid,性 能居然比以前更好。
Varnish 2.0.6 的改进内容有:
Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (http://www.vg.no) 使用3台Varnish代替了原来的12台squid,性 能居然比以前更好。
Varnish 2.0.6 的改进内容有:

  • Fix off-by-one error in ESI handling
  • Bug fixes related to session lingering
  • Backend probes should now work correctly with more servers
  • Portability fixes
  • Make it possible to specify the per-thread stack size, useful for 32 bit systems

下载 Varnish 2.0.6

给服务器使用
Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。
Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算 机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。
Varnish的理念是好的,但是Varnish还没有稳定到可以完全替代Squid的程度,现在就抛弃Squid选择Varnish是不明智的。
使用Varnish代替Squid做网站缓存加速器的详细解决方案 » 阅读更多: HTTP加速器 Varnish 2.0.6 发布