存档

文章标签 ‘post’

thttpd-2.21b php-5.3.3模块

2010年10月29日 eric 185 条评论

由于2.25b+php-5.2.11版本,昨天测试上传有问题·试这改了很多源码,只支持了火狐浏览器上传小文件,而IE浏览器则直接返回该页无法显示,今天下下来 php5.3.3最新版的PHP,看了下thttpd 的源码,只支持thttpd 2.21b.然后就试着安装了下·现在可以了上传了支持 POST上传了!

下载源码包:
thttpd $> wget http://cn2.php.net/get/php-5.3.3.tar.bz2/from/cn.php.net/mirror
thttpd $> wget http://www.acme.com/software/thttpd/thttpd-2.21b.tar.gz

1.安装thttpd php补丁

thttpd $> tar jxvf php-5.3.3.
thttpd $> tar zxvf thttpd-2.21b.tar.gz
thttpd $> cd php-5.3.3
thttpd $> ./configure –prefix=/usr/local/php –with-thttpd=../thttpd-2.21b
thttpd $> make install

2.安装 thttpd

thttpd $> cd thttpd-2.21b
thttpd $> ./configure –prefix=/usr/local/thttpd
thttpd $> sed -i ‘s#getline#get_line#g’ extras/htpasswd.c
#不然会报错,上篇文章已经说原因了
thttpd $> make
thttpd $> mkdir -p /usr/local/thttpd
thttpd $> mkdir -p /usr/local/thttpd/{man,sbin,www,etc,logs}
thttpd $> mkdir -p /usr/local/thttpd/man/{man1,man8}
thttpd $> mkdir -p /usr/local/thttpd/www/cgi-bin
# thttpd-2.21b 版本的安装脚本写的更软弱·所有要手动创建这些目录
thttpd $> make install

分类: linux 标签: , , ,

优化nginx+fastcgi上传

2010年8月6日 eric 2,529 条评论

由于公司网站的项目要用到用户上传20M左右的文件,经过测试发现,上传的时候php-fpm单个进程占用CPU利用率大而长,上传速度也不是很理想,如果是多个人上传,效果就会更糟糕。在看nginx官网网站的时候。看到nginx支持POST,原理是这样的,POST到nginx的产生一个临时文件,nginx接受到数据在转移到FastCGI,这样多了一次复制过程和内存开销,比较浪费。但是对于上传大文件来说速度有明显改善。但是光nginx支持不够,还需要php-fpm的支持。 添加这个功能需要修改nginx配置文件: http { ……. 添加如下: client_body_in_file_only clean; client_body_temp_path /dev/shm 1 2; fastcgi_param REQUEST_BODY_FILE $request_body_file; … } 最好使用内存文件系统 /dev/shm 这样减少对磁盘的读写,减少了 磁盘 I/O,这样大大的优化了NGINX上传速度。

分类: nginx 标签: , ,