yyyxxxs 2011-08-03
http://wiki.nginx.org/Chs
http://blog.s135.com/nginx_php_v6/
Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过三年了。Igor将源代码以类BSD许可证的形式发布。
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx0.8.46+PHP5.2.14(FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。
处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:
假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。
---------------------------------
安装包或者编译时/sbin/ldconfig出错的解决方法
在安装rpm包或者编译时报错
/sbin/ldconfig:/usr/lib/libmcrypt.so.4isnotasymboliclink
解决办法如下:
#ln-sf/usr/local/lib/libmcrypt.so.4/usr/lib/libmcrypt.so.4
某些公司会墙特定网站,如果你有一个可访问的域名和服务器,就可以通过nginx反向代理来来解决这些问题。比如现在我们用mirror.example.com镜像www.baidu.com,以下是详细操作。