作者:WLII庾斌_787 | 来源:互联网 | 2023-02-01 15:42
1 准备安装环境
首先我们需要一个内核为 Linux2.6 及以上版本的操作系统,因为 Linux2.6 及以上内核才支持 epoll。
epoll 是 Linux 内核为处理大批量文件描述符而
1 准备安装环境
首先我们需要一个内核为 Linux2.6 及以上版本的操作系统,因为 Linux2.6 及以上内核才支持 epoll。
epoll 是 Linux 内核为处理大批量文件描述符而作了改进的 poll ,是 Linux 下多路复用 IO 接口select/ poll 的增强版本,它能显着提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率。
我们可以使用 uname-r
命令来查询 Linux 内核版本。
uname -r
运行结果:
3.10.0-957.el7.x86_64
1.1 GCC 编译器
GCC( GNU Compiler Collection) 可用来编译C语言程序,因为 Nginx 是用 C 语言写的,所以我们需要它。
我们使用 yum 来安装 GCC 编译器:
yum install -y gcc
Yum (全称为 YellowdogUpdater , Modified )是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载 、 安装。
加上 -y 参数,yum 找到安装包之后,会自动输入 y(即表示 yes 同意),这样安装过程就不需要我们参与啦!
如果需要使用 C++ 来编写 Nginx,那么可以按照 G++ 编译器:
yum install -y gcc-c++
1.2 PCRE 库
如果我们在配置文件 nginx.conf 中使用了正则表达式,那么在编译 Nginx 时就必须把 PCRE 库( Perl Compatible Regular Expressions, Perl 兼容正则表达式)编译进 Nginx ,因为 Nginx 的 HTTP 模块要靠它来解析正则表达式。
yum install -y pcre pcre-devel
pcre-devel 是使用 PCRE 做二次开发时所需要用到的开发库,所以这里一并安装。
1.3 zlib 库
如果在 nginx.conf 里配置了 gzip on ,并指定对于某些类型( content-type )的 HTTP 响应使用 gzip 对其进行压缩以减少网络传输量,这时,就必须在编译时把 zlib 编译进 Nginx。
yum install -y zlib zlib-devel
zlib-devel 也是二次开发所需要的库。
1.4 openssl 库
如果服务器需要支持 HTTPS ,那么就需要安装 openssl 了。openssl 中还包含 MD5、SHA1 等加密算法实现。
yum install -y openssl openssl-devel
2 下载并编译安装
可以在此下载 Nginx http://nginx.org/en/download.html 源代码压缩包。
首先解压 tar.gz,形如
tar -zxvf nginx-1.17.7.tar.gz
然后进入 nginx-1.17.7 目录,执行以下3行命令:
./configure
make
make install
- configure 命令会检测操作系统内核和已经安装的软件、解析参数、生成中间目录以及根据各种参数生成一些 C 源码文件 、 Makefile 文件等 工作。
- make 命令会根据 configure 命令生成的 Makefile 文件编译 Nginx 工程,并生成目标文件和最终的二进制文件 。
- make install 命令会根据 configure 执行时的参数将 Nginx 部署到指定的安装目录,还会建立相关目录以及复制二进制文件和配置文件。
3 验证
在根目录执行以下命令:
/usr/local/nginx/sbin/nginx -v
运行结果:
nginx version: nginx/1.17.7
这就说明 Nginx 安装成功啦 O(∩_∩)O哈哈~