第1章 安装Nginx及第三方模块
Nginx最初的设计是成为一个Http服务器,一个能够解决C10K问题的Http服务器。关于C10K这个问题,Daniel Kegel设计一个同时连接处理10000连接的web服务器。为了实现这个目标,Nginx通过基于事件的处理机制并且操作系统也要使用相应的事件机制,便可以解决C10K问题。
在我们开始探索如何配置Nginx之前,首先我们要安装它,这一章将详细讲述如何安装Nginx,以及如何获取正确的模块并且安装和配置它们。Nginx是模块化设计的,并且有非常丰富的社区第三方模块,它们的设计者通过创建这些模块为core Nginx增添了功能,我们可以在编译安装Nginx时将它们添加到Nginx服务器。
在本章中,我们涉及到以下内容。
- 使用包管理器安装Nginx。
- 通过源代码安装Nginx。
- 配置Nginx为Web或者Mail服务器。
- 使用各种模块。
- 查找并安装第三方模块。
- 组合在一起。
1.1 使用包管理器安装Nginx
使用包管理器安装Nginx的机会是你所使用的操作系统已经提供了Nginx的安装包。使用包管理器安装Nginx的方法很简单,只需要使用包管理器安装命令就可以了。
- Linux (基于deb)
- sudo apt-get install nginx
- Linux (基于rpm)
- sudo yum install nginx
- FreeBSD
- sudo pkg_install -r nginx
图像说明文字命令sudo表示的是通过操作系统中的超级用户('root')权限执行的命令。如果操作系统支持RBAC (Role- based access control),那么可以用一个不同的命令,例如 'pfexec',来达到同样的目的。
通过上面的命令来安装的Nginx都会被安装到操作系统的标准位置下。如果使用操作系统的安装包安装Nginx,那么通过上面的命令来安装是最好的方式。
Nginx core团队也提供了二进制的标准版本,可以从 http://nginx.org/en/download.html 页面下载可用的版本。没有发布Nginx二进制版本的系统用户(例如,CentOS),可用使用下面的指导来安装预测试、预编译二进制版本。
1.1.1 CentOS
通过创建下面的文件在系统中添加Nginx仓库的yum配置。
sudo vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
然后通过执行以下命令来安装Nginx。
sudo yum install nginx
也可以按照前面介绍的URL下载Nginx发布版本安装。
1.1.2 Debian
通过从 http://nginx.org/keys/nginx_signing.key 下载Nginx并安装签名key,将该签名key添加到系统的apt keyring中。
sudo apt-key add nginx_signing.key
将nginx.org仓库追加到/etc/apt/sources.list文件末尾。
vi /etc/apt/sources.list
deb [http://nginx.org/packages/debian/ squeeze nginx
deb-src [http://nginx.org/packages/debian/ squeeze nginx
然后执行下面的命令安装Nginx。
sudo apt-get update
sudo apt-get install nginx
如果所使用的操作系统在它可用的安装包中没有包括Nginx,或者是所包含的版本太旧不能满足需要,或者是nginx.org没有提供所需要的安装包,或者是你想使用“development”版本的Nginx,那么可以使用从源代码编译的方法来安装Nginx。