实战Nginx:取代Apache的高性能Web服务器
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 Nginx服务器的安装与配置

2.1 安装Nginx服务器所需要的系统资源

Nginx是开源软件,您可以从其官方网站(http://www.nginx.net/)下载最新版本。Nginx目前有3个版本:旧的稳定版(0.6.x)、最新的稳定版(0.7.x)和开发版(0.8.x)。0.8.x开发版分支刚发布不久,Bug会比较多,因此不建议用于生产环境。开发版一旦更新稳定下来,就会被加入稳定版分支。然而,新功能不一定会被加到旧的稳定版中去,所以,目前最合适使用的版本是0.7.x。

从0.7.52版本开始,Nginx官方网站开始提供Windows版本下载,Windows版本的Nginx使用比较简单,只须下载完成后,将其解压缩到一个不包含空格的路径中,执行nginx.exe即可。但是,Windows版本的Nginx性能要比Linux/Unix版本的Nginx差很多。本书重点介绍Linux环境下的Nginx编译安装。

一些Linux发行版和BSD的各个变种版本的安装包仓库中包含了编译后的二进制Nginx软件,很多预先编译好的安装包都比较陈旧,所以大多数情况下还是推荐直接从源码编译安装。

安装Nginx服务器之前,首先要安装一个Linux/Unix操作系统发行版,例如Redhat、CentOS、Debian、Fedora Core、Gentoo、SUSE、Ubuntu、FreeBSD等。

本书将以新浪、搜狐、网易、金山游戏官网等国内互联网公司最常用的Linux发行版——CentOS为例,介绍Nginx的安装与使用。CentOS是基于RedHat Enterprise Linux源代码重新编译、去除RedHat商标的产物,各种操作、使用和RedHat没有区别。CentOS完全免费,修正了RedHat的很多BUG,但CentOS不向用户提供技术支持,也不负任何商业责任。

编译Nginx的要求如下:

磁盘空间:需要保证有10MB以上的剩余磁盘空间。Nginx安装完毕后会占据4MB左右的磁盘空间,实际的磁盘空间需求会因编译设置和是否安装第三方模块而有所不同。

GCC编译器及相关工具:GCC全称为GNU Compiler Collection, 是GNU社区推出的功能强大、性能优越的用于编程开发的自由编译器,是GNU的代表作品之一,目前可以编译的语言包括:C、C++、Objective-C、Fortran、Java等。您必须确保您的操作系统安装有GCC编译器。另外,您还必须安装Autoconf和Automake工具,它们用于自动创建功能完善的Makefile,当前大多数软件包都是用这一工具生成Makefile的,Nginx也不例外。在CentOS系统下,您可以使用yum命令安装GCC编译器及相关工具:

yum -y install gcc gcc-c++ autoconf automake

模块依赖性:Nginx的一些模块需要其他第三方库的支持,例如gzip模块需要zlib库, rewrite模块需要pcre库,ssl功能需要openssl库等。同样,如果是在CentOS系统下,我们可以使用yum命令安装或下载源码包编译安装这些模块依赖的库:

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel