Nginx下载和安装教程
Nginx 是一款开放源代码的高性能 HTTP 服务器和反向代理 Web 服务器,同时也是一个邮件代理服务,最早开发这个产品的目的之一是作为邮件代理服务器。Nginx 采用最新的网络 I/O 模型,支持高达 50000 个并发连接。因此在出现连接高并发的情况时,Nginx 可以代替 Apache 服务。
Nginx 不仅可以在内部直接支持 Rails 和 PHP 程序对外进行服务,而且可以支持作为 HTTP 服务器对外进行服务。Nginx 采用 C 进行编写,从而使系统资源的利用和 CPU 的使用效率都有很大的提高。
另外,Nginx 的安装非常的简单,配置文件非常简洁,运行 Bug 较少。Nginx 启动迅速,并且几乎可以 24h 不间断运行,即使运行数个月也不需要重新启动,同时还能够在不间断服务的情况下进行软件版本的升级。
首先需要安装 pcre-devel 和 Zlib 软件包。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 Linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。pcre 库的安装命令如下:
安装完成如图 1 所示。
图 1 pcre安装完成
由于 zlib 提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行解压。zlib 库的安装命令如下:
图 2 zlib安装完成
图 3 nginx-1.14.0.tar.gz下载完成
2) 对 nginx-1.14.0.tar.gz 进行解压并切换到 nginx 目录,命令如下:
图 4 nginx-1.14.0.tar.gz的解压过程
3) 使用 nginx 的默认配置,命令如下:
图 5 使用nginx进行配置
4) 进行编译安装。命令如下:
5) 查找安装路径,命令如下:
图 6 安装路径
Nginx 的主配置文件 nginx.conf 是一个纯文本类型的文件,整个文件是以区块的形式组织的,每个区块以一对花括号“{}”来表示开始与结束。
使用 cat 命令打开 /usr/local/nginx/conf/nginx.conf 配置文件,命令如下:
1) CoreModule 模块和 events 时间模块,内容解析如图 7 所示。
图 7 CoreModule模块和events时间模块
2) http 模块。设定 http 服务器,利用 http 的反向代理功能提供负载均衡支持。http 模块解析 1 如图 8 所示。
图 8 http模块解析1
http 模块解析 2 如图 9 所示。
图 9 http 模块解析2
http 模块解析 3 如图 10 所示。
图 10 http模块解析3
http 模块解析 4 如图 11 所示。
图 11 http模块解析4
http 模块解析 5 如图 12 所示。
图 12 http模块解析5
常见的状态码及含义如表 13 所示。
Nginx 不仅可以在内部直接支持 Rails 和 PHP 程序对外进行服务,而且可以支持作为 HTTP 服务器对外进行服务。Nginx 采用 C 进行编写,从而使系统资源的利用和 CPU 的使用效率都有很大的提高。
另外,Nginx 的安装非常的简单,配置文件非常简洁,运行 Bug 较少。Nginx 启动迅速,并且几乎可以 24h 不间断运行,即使运行数个月也不需要重新启动,同时还能够在不间断服务的情况下进行软件版本的升级。
安装Nginx软件
1、安装PCRE
与 Apache HTTP Server 一样,这里使用源代码编译安装该软件。但是在编译安装之前,需要使用 yum 提前将所需的软件依赖包安装完成。首先需要安装 pcre-devel 和 Zlib 软件包。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 Linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。pcre 库的安装命令如下:
[root@ bogon conf]# yum install -y pcre pcre-devel
安装完成如图 1 所示。
图 1 pcre安装完成
由于 zlib 提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行解压。zlib 库的安装命令如下:
[root@ bogon abcd]# yum install -y zlib zlib-devel
安装完成页面如图 2 所示。图 2 zlib安装完成
2、安装nginx
1) 安装 nginx,可以使用 wget 命令直接下载 nginx-1.14.0.tar.gz,命令如下:[root@ bogon abcd]# wget -c https://nginx.org/download/nginx-1.14.0.tar.gz
下载完成页面如图 3 所示。图 3 nginx-1.14.0.tar.gz下载完成
2) 对 nginx-1.14.0.tar.gz 进行解压并切换到 nginx 目录,命令如下:
[root@ bogon conf]# tar -zxvf nginx-1.14.0.tar.gz
[root@bogon abcd]# cd nginx-1.14.0
图 4 nginx-1.14.0.tar.gz的解压过程
3) 使用 nginx 的默认配置,命令如下:
[root@bogon nginx-1.14.0]# ./configure
配置的部分结果如图 5 所示。图 5 使用nginx进行配置
4) 进行编译安装。命令如下:
[root@bogon nginx-1.14.0]# make
[root@bogon nginx-1.14.0]# make install
5) 查找安装路径,命令如下:
[root@bogon nginx-1.14.0]# whereis nginx
执行 whereis 命令之后,可以看到安装路径为 /usr/local/nginx,如图 6 所示。图 6 安装路径
配置文件解析
Nginx 默认的配置文件为 /usr/local/nginx/conf/nginx.conf,配置文件主要包括全局、event、http、server设置。其中 event 主要用于定义 Nginx 的工作模式;http 提供了 Web 的功能;server 主要用于设置虚拟主机,但 server 必须在 http 的内部,并且一个配置文件中也可以有多个 server。Nginx 的主配置文件 nginx.conf 是一个纯文本类型的文件,整个文件是以区块的形式组织的,每个区块以一对花括号“{}”来表示开始与结束。
使用 cat 命令打开 /usr/local/nginx/conf/nginx.conf 配置文件,命令如下:
[root@bogon abcd]# cat /usr/local/nginx/conf/nginx.conf
Nginx 的配置文件内容有以下几个方面:1) CoreModule 模块和 events 时间模块,内容解析如图 7 所示。
图 7 CoreModule模块和events时间模块
2) http 模块。设定 http 服务器,利用 http 的反向代理功能提供负载均衡支持。http 模块解析 1 如图 8 所示。
图 8 http模块解析1
http 模块解析 2 如图 9 所示。
图 9 http 模块解析2
http 模块解析 3 如图 10 所示。
图 10 http模块解析3
http 模块解析 4 如图 11 所示。
图 11 http模块解析4
http 模块解析 5 如图 12 所示。
图 12 http模块解析5
HTTP响应状态码
当通过浏览器访问站点页面时,首先发送页面请求给服务器,然后服务器会根据请求内容做出回应。如果没有问题,服务器会返回客户端成功状态码,同时将相应的页面传送给客户端浏览器;当服务器出现故障时,服务器通常会发送客户端错误状态码,并根据错误状态码向客户端浏览器发送错误页面。常见的状态码及含义如表 13 所示。
状态码 | 含 义 |
---|---|
100 | 请求已接收,客户端可以继续发送请求 |
101 | Switching Protocols服务器根据客户端的请求切换协议 |
200 | 正常 |
201 | 服务器已经创建文档 |
202 | 已接受请求,但处理还没有完成 |
203 | 文档正常返回,但有些头部信息可能不正确 |
300 | 客户端请求的资源可以在多个位置找到 |
301 | 客户端请求的资源可以在其他位置找到 |
305 | 使用代理服务 |
400 | 请求语法错误 |
401 | 访问被拒绝 |
401.1 | 登录失败 |
403 | 资源不可用 |
403.6 | IP地址被拒绝 |
403.9 | 用户数过多 |
404 | 无法找到指定资源 |
406 | 指定资源已找到,但MIME类型与客户端要求不兼容 |
407 | 要求进行代理身份验证 |
500 | 服务器内部错误 |
500.13 | 服务器忙碌 |
501 | 服务器不支持客户端请求的功能 |
502 | 网关错误 |
503 | 服务不可用 |
504 | 网关超时,服务器处于维护或者负载过高无法响应 |
505 | 服务器不支持客户端请求的HTTP版本 |
声明:《Linux系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。注意,1XX 表示提示错误;2XX 表示成功信息;3XX 表示重定向信息;4XX 表示客户端错误信息;5XX 表示服务器错误信息。