安装较旧版本的nginx

在业务中,我们会记录下搭建旧版本的nginx而不是最新版本的nginx的步骤和常见问题。

获取nginx的模块

在这里,您可以获取从最新版本到初始模块的全部内容。
zip文件被转换为exe文件。
如果在Linux上构建,请使用tar.gz文件。

wget https://nginx.org/download/nginx-x.y.z.tar.gz

解凍:调整设置

解凍 (jiě -> 解冻 (jiě

tar zxvf nginx-x.y.z.tar.gz

用户,创建群组。

groupadd nginx
useradd -g nginx -s /sbin/nologin nginx

配置(将所需的模块集成)

cd nginx-x.y.z
./configure --prefix=/usr/local/nginx-x.y.z --user=nginx --group=nginx

因为依赖关系等问题,每次都必须使用yum或apt进行安装执行,所以会在这里遇到困难。

yum search xxxx
yum install xxx

如果能够解决依赖关系,就可以安装。

make & make install

我本以为事情顺利完成了,但在我的情况下却陷入了依赖关系的困境。

由于提示缺少gcc相关模块,因此我运行了yum命令,但无论多少次都没有改变。因此,当认真阅读错误信息时,发现以下内容。

Error: Package: glibc-headers-x.y.z.x86_64 (base)
           Requires: kernel-headers
Error: Package: glibc-headers-x.y.z.x86_64 (base)
           Requires: kernel-headers >= x.y.z

在谷歌搜索中,为了借鉴先人的智慧,找到了下面的文章。
解决CentOS7中yum的kernel-headers的依赖错误问题。
根据这篇文章,如果在/etc/yum.conf文件中包含以下内容,会导致内核的更新被排除掉。

exclude=kernel*

这次我使用的环境是公司内部提供的虚拟机,初次构建时似乎已经设置好了,以防止用户在不经意间进行不需要的内核更新。
由于这次必须进行内核更新才能继续进行,我先将其注释掉,然后成功地通过了yum安装gcc并且顺利通过了配置。

当依存关系出现问题时,经重新认识,我意识到以下重要事项:
1、怀疑/etc/yum.conf文件。
2、通过rpm -qa | grep xxx来确认安装状态。
3、执行yum update进行更新。

填充

Nginx启动

/usr/local/nginx-x.y.z/sbin/nginx

停止nginx

/usr/local/nginx-x.y.z/sbin/nginx -s stop

conf文件的错误检查

/usr/local/nginx-x.y.z/sbin/nginx -t

显示 Nginx 的版本和配置参数

/usr/local/nginx-x.y.z/sbin/nginx -V

参考:命令行参数

Nginx各环境的启动脚本
NGINX初始化脚本