存档在 ‘linux 应用’ 分类

Speeding up dynamic websites via an nginx proxy

2010年2月20日

Many of us are familiar with the use of Apache for hosting websites. It might not be the fastest webserver but it is extraordinarily popular, extremely flexible, and a great choice for most people. However there are times when it can struggle, and placing a proxy in front of it can be useful.
» 阅读更多: Speeding up dynamic websites via an nginx proxy

nginx学习之一Location,rewrite,防盗链,禁止访问

2010年2月12日

一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.
二、Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~ 为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
» 阅读更多: nginx学习之一Location,rewrite,防盗链,禁止访问

LVS集群的应用介绍

2010年2月8日

LVS集群的应用

LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点,就我所知该系统已在美、英、德、澳等国的几十个站点上正式使用。

我们没有上百台机器和高速的网络来实际测试LVS的终极性能,所以举LVS的应用实例来说明LVS的高性能和稳定性。我们所知的一些大型LVS应用实例如下:

» 阅读更多: LVS集群的应用介绍

Squid网站加速介绍

2010年2月7日

Squid是一种在Linux系统下使用的优秀的代理服务器软件。
squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSDHP-UX、Irix、NetBSDNextstepSCOSolaris等系统上。
Squid与Linux下其它的代理软件如ApacheSocks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。用ipchains+Squid的解决方案,就可以获得通过缓存高性能的同时能够无缝的访问Internet。
普通的网站服务器的方法是用户首先向Web服务器(如Apache)发送请求,Web服务器接受到请求后,会处理该请求,然后返回信息给用户。这样Web服务器就是在接受、处理用户请求的过程。当这种请求达到一个极限时,就会出现上述服务器不堪重负,网站服务速度非常慢的情况。

加上Squid的服务器方法是,让Squid对Web服务器发送请求,然后生成Cache,让用户直接读取Cache的内容,而并非直接Web服务器进行会话。那么这样就会减轻服务器负荷。加之用户少了几次与服务器的会话过程。可以更形象的用下图来看一下两者之间的不同

Varnish网站加速介绍

2010年2月7日

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介绍
1 Varnish

» 阅读更多: Varnish网站加速介绍

智能dns服务器配置

2010年2月6日

智能DNS配置
1、通过智能DNS自动解析,自动判断网通和电信用户,真正做到南北互联,从而做到网站加速。
2、负责配置好BIND智能dns配置,并做一个月的配置服务。
3、提供一份区分电信、网通、教育网、移动网络的ip分配表。
4、要求安装智能dns的服务器为linux 服务器。

» 阅读更多: 智能dns服务器配置

善用GIMP(Linux下的Photoshop),图像处理轻松又自由

2010年1月27日

1. GIMP是什么?

GIMP是什么?最准确的说法:The GNU Image Manipulation Program 的简称,一个用 GTK 编写的图像编辑处理程序。
最容易理解的说法:Linux下的Photoshop,但现在的 Windows 版本同样好用。
最xbeta风格的说法:免费开源的GIMP,是昂贵的 PhotoShop 的较好替代方案。
网络介绍:GIMP 是一个免费的、分布式的图片润饰、图象制作和处理软件,内含几乎所有图象处理所需的功能,号称Linux下的PhotoShop。 GIMP在Linux系统推出时就风靡了许多绘图爱好者的喜爱,它的接口相当轻巧,但其功能却不输于专业的绘图软件;它提供了各种的影像处理工具、滤镜, 还有许多的组件模块,对于要制作一个又酷又炫的网页按钮或网站Logo来说是一个非常方便好用的绘图软件,因为它也提供了许多的组件模块,你只要稍加修改 一下,便可制作出一个属于你的网页按钮或网站Logo。 如今推出了For Windows版本,还不赶快试试… 注:需要安装GTK+环境包才能正常安装。

2. GIMP 与 Photoshop的对比

2.1 相同之处:功能同样强大

笔者相信,用Photoshop能实现的效果,GIMP都能实现。反之也一样。另外,GIMP的界面、菜单也是模仿PhotoShop,所以风格很象(参见介面预览,点击可放大)
点击看大图

» 阅读更多: 善用GIMP(Linux下的Photoshop),图像处理轻松又自由

nginx proxy_cache 代理缓存

2010年1月22日

proxy_cache_path /path/to/cache levels=1:2 keys_zone=NAME:10m inactive=5m max_size=2m clean_time=1m;

注意这个配置是在server标签外,levels指定该缓存空间有两层hash目录,第一层目录是1个字母,第二层为2个字母,保存的文件名就会类似 /path/to/cache/c/29 /b7f54b2df7773722d382f4809d65029c;keys_zone为这个空间起个名字,10m指空间大小为 10MB;inactive的5m指缓存默认时长5分钟;max_size的2m是指单个文件超过2m的就不缓存;clean_time指定一分钟清理一 次缓存。

location / {
proxy_pass http://xxx.xxx.com/;
proxy_cache NAME;#使用NAME这个keys_zone
proxy_cache_key     $uri;
proxy_cache_valid 200 302 1h;#200和302状态码保存1小时
proxy_cache_valid 301 1d;#301状态码保存一天
proxy_cache_valid any 1m;#其它的保存一分钟
proxy_cache_min_uses  1;
}

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