FreeBSD7.2下ports方式安装配置“Nginx0.8.24+PHP5.2.11(FastCGI)+ GD+Mysql5.1.40+系统优化+防ddos攻击”

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

版权声明

本文版权归作者所有,如其他个人、第三方网站或媒体报刊等需转载全文或节选,请注明原文链接:

/manual/freebsd-nginx-php-mysql-ports.html

如果因此而给您带来麻烦,请您原谅,谢谢合作。

前言

∙版本:1.0

∙作者:lynn

∙项目主页:

∙个人主页:

∙最后更新:2009-11-11(光棍节)

本文档是在FreeBSD7.2系统下,以ports系统为基础,所涉及软件全部是开源软件,版权以GPL为主,作为企业应用没有任何版权/法律问题。

编写本文的初衷,是给那些希望快速架设高性能、高负载Web服务系统而不想过多了解复杂的系统知识的网管/用户。

本文假定读者是在FreeBSD 7.2 平台上安装,并具有一定的Unix平台 / FreeBSD平台系统经验,懂得ports基本命令及常规的系统操作,如文件的删除,目录创建,改名,和vi编辑器的基本使用等。

源代码方式安装请参考(推荐):

/manual/freebsd-nginx-php-mysql-source.html

目录

∙为什么要选择FreeBSD?

∙为什么要选择Nginx?

∙软件组成

∙安装FreeBSD7.2

∙更新ports

∙安装axel提高ports的安装速度

∙安装Mysql5.1.40

∙安装Nginx

安装pcre8.00

安装Nginx0.8.24

∙安装libxml2-2.7.6

∙安装GD

安装zlib1.2.3

安装libpng1.2.40

安装jpeg v7

安装freetype2.3.11

安装gd2.0.35

∙安装PHP

安装php5.2.11(FastCGI模式)

∙测试

∙系统优化

∙防ddos攻击

∙结束语

∙ChangeLog

为什么要选择FreeBSD?

官方网站:中文网站:/zh_CN/

FreeBSD是一个优秀的unix操作系统,基于宽松的BSD协议,是完美的企业级操作系统,以重点突出性能和安全而闻名,行业领先的企业多年以来一直使用FreeBSD服务器。具有同所有其它开源软件操作系统竞争的高级性能。

1.Unix兼容性强

2.速度快

3.极其稳定、可靠

4.强大的网络功能

5.多用户、多任务

6.使用方便(按照极好的说明文件操作)

为什么要选择Nginx?

Nginx("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个

IMAP/POP3/SMTP 代理服务器。Nginx 是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。Igor 将源代码以类BSD许可证的形式发布。自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx。

Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性:

∙在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达50,000 个并发连接

数的响应, 感谢Nginx为我们选择了epoll and kqueue作为开发模型;

∙内存消耗少:在3万并发连接下,开启10个Nginx进程消耗150M左右内存(15M*10);

∙不要钱:Nginx为开源软件,可以免费使用。而购买F5 BIG-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的内存。 Nginx 0.7.51 + PHP 5.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(Linux 2.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的性能谁的性能更高,同样不言自明了。

软件组成

软件名称版本说明

FreeBSD7.2FreeBSD是一个优秀的unix操作系统,基于宽松的BSD协议

Mysql 5.1.40最受欢迎的开源数据库

pcre8.00(Perl兼容正则表达式)Nginx 所需

Nginx0.8.24很牛的高性能Web和反向代理服务器

libxml2 2.7.6xml c语言版的解析器

zlib 1.2.3支援gzip档案格式的函数库

相关文档
最新文档