第1页共17页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共17页FreeBSD+Nginx环境搭建教程2010-03-3012:272010年02月22日星期一下午05:12为什么要选择FreeBSD?官方网站:www.freebsd.org中文网站:http://www.freebsd.org/zh_CN/FreeBSD是一个优秀的unix操作系统,基于宽松的BSD协议,是完美的企业级操作系统,以重点突出性能和安全而闻名,行业领先的企业多年以来一直使用FreeBSD服务器。具有同所有其它开源软件操作系统竞争的高级性能。1.Unix兼容性强2.速度快3.极其稳定、可靠4.强大的网络功能5.多用户、多任务6.使用方便(按照极好的说明文件操作)为什么要选择Nginx?Nginx(“enginex”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过四年多了。Igor将源代码以类BSD许可证的形式发布。自Nginx发布四年来,Nginx已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。新近发现Nginx技术在国内日趋火热,越来越多的网站开始部署Nginx。Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一.能够支持第2页共17页第1页共17页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共17页高达50,000个并发连接数的响应,感谢Nginx为我们选择了epollandkqueue作为开发模型;内存消耗少:在3万并发连接下,开启10个Nginx进程消耗150M左右内存(15M*10);不要钱:Nginx为开源软件,可以免费使用。而购买F5BIG-IP、NetScaler等硬件负载均衡交换机刚需要十多万至几十万元人民币;Nginx作为负载均衡服务器:Nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务.Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多;作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm描述了成功并且美妙的使用经验;Nginx是一个[#installation安装]非常的简单,配置文件?非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动.你还能够不间断服务的情况下进行软件版本的升级;稳定性高:用于反向代理,宕机的概率微乎其微。4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。Nginx0.7.51+PHP5.2.8(FastCGI)服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。为什么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版楼管大妈,谁的效率更高,第3页共...