存档

2009年十一月月 的存档

(无标题)

狗刨






nginx 反向代理置小示例(将文件缓存在内存中)

转载自:http://www.linuxtone.org/html/42/t-4042.html

nginx 反向代理配置小示例,将缓存文件存放在/dev/shm

server
{
listen 80;
server_name st001.img.linuxtone.org;
proxy_temp_path /dev/shm/proxy_temp ;
proxy_set_header Accept-Encoding ”;
location / {
proxy_pass http://st001.img.linuxtone.org;
include /usr/local/nginx/conf/proxy.conf;
}

location /thumbnail {
root /dev/shm/proxy_temp/$host; #缓存文件存储目录

proxy_set_header Accept-Encoding ”;
add_header X-Cache HIT-LT;
expires 1y;
if (!-e $request_filename) {
proxy_pass http://st001.img.linuxtone.org;
break;
}
include /usr/local/nginx/conf/proxy.conf;
}
}

这样第一次访问:
http://st001.img.linuxtone.org/thumbnail/55/cd/2e/55cd2ecbb6d24cb60b2c657958fdaab0_250×400.jpg
将缓存/dev/shm/proxy_temp/st001.img.linuxtone.org/目录下.

[root@www tmp]# wget -S http://st001.img.linuxtone.org/thumbnail/55/cd/2e/55cd2ecbb6d24cb60b2c657958fdaab0_250×400.jpg

//以下是header信息.
–12:16:37–
Resolving st001.img.linuxtone.org… 60.28.208.52
Connecting to st001.img.linuxtone.org|60.28.208.52|:80… connected.
QUOTE:
HTTP request sent, awaiting response…
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 18 Oct 2009 04:16:37 GMT
Content-Type: image/jpeg
Content-Length: 24524
Last-Modified: Thu, 15 Oct 2009 12:25:39 GMT
Connection: keep-alive
Expires: Mon, 18 Oct 2010 04:16:37 GMT
Cache-Control: max-age=31536000
X-Cache: HIT-LT
Accept-Ranges: bytes
Length: 24524 (24K) [image/jpeg]
Saving to: `55cd2ecbb6d24cb60b2c657958fdaab0_250×400.jpg.13′

要注意内存问题,如果内存不是很大,就写个脚本定时清理一下/dev/shm下的文件吧。

如是你用nginx 做反向代理,挑一个大内存的机器是一个不错的选择哦!

欢迎朋友们讨论补充。

注意:使用 CF卡运行Pfsense 的稳定性值得怀疑

公司最近已经陆续有两台运行在CF卡上的Pfsense罢工,最终CF卡都无法读写。 目前已经紧急将所有使用CF卡运行的PfSense的机器更新为硬盘,这些CF卡(基本都是Sandsk最高端的)在这种工作强度下2年基本就不能工作了。看来还是硬盘靠谱一些,价格还便宜,两年换一块就行了。

FreeBSD 下运行PHP 高负载下临时文件的加速

最近有一台服务器经常发生500错误,紧急将部分服务转移走后对服务器进行了一段时间的观察,发现服务器对硬盘的IO操作非常频繁,这台服务器也是虚拟机结构,同一个物理服务器下有多台FreeBSD的WEB在运行,本身IO就非常慢,如果IO再如此频繁的话势必造成整台服务器性能低下。

通过分析确认要的IO存取都是由PHP的Session文件造成的,而FreeBSD的/var/tmp并非RAM盘,因此性能低下。最终把/var/tmp改成RAM盘后性能明显提升,操作如下,这里开启了一个256M的RAM盘。(以下代码可以直接放至/etc/rc.local中)。另外听同事说CentOS的/var目录本身就是RAM盘,所以使用CentOS不需要这样做,看来freeBSD真的太保守了。

/sbin/mdconfig -a -t swap -s 256M -u 1
/sbin/newfs -U -i 512 -b 4096 md1
/sbin/mount /dev/md1 /mnt/md1
/bin/mkdir /mnt/md1/tmp
#/bin/ln -s -f /mnt/md1/tmp /var/tmp
/bin/mkdir /mnt/md1/fastcgi_temp
#/bin/ln -s -f /mnt/md1/fastcgi_temp /usr/local/nginx/fastcgi_temp

/sbin/mdconfig -a -t swap -s 256M -u 1

/sbin/newfs -U -i 512 -b 4096 md1

/sbin/mount /dev/md1 /mnt/md1

/bin/mkdir /mnt/md1/tmp

#/bin/ln -s -f /mnt/md1/tmp /var/tmp  (只需要执行一次)