安装较旧版本的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初始化脚本