nginx源码编译安装(详解)
nginx编译安装

安装步骤:
官网下载合适的版本,建议选择稳定版本。
官网地址:https://nginx.org
wget https://nginx.org/download/nginx-1.20.1.tar.gz解压后,进入源码目录
cd /opt
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
源码文件各目录解释
[root@localhost nginx-1.20.1]# ll
总用量 788
drwxr-xr-x 6 zdsoftro zdsoftro 326 10月 18 15:44 auto
-rw-r--r-- 1 zdsoftro zdsoftro 311503 5月 25 20:35 CHANGES
-rw-r--r-- 1 zdsoftro zdsoftro 475396 5月 25 20:35 CHANGES.ru
drwxr-xr-x 2 zdsoftro zdsoftro 168 10月 18 15:44 conf
-rwxr-xr-x 1 zdsoftro zdsoftro 2590 5月 25 20:35 configure
drwxr-xr-x 4 zdsoftro zdsoftro 72 10月 18 15:44 contrib
drwxr-xr-x 2 zdsoftro zdsoftro 40 10月 18 15:44 html
-rw-r--r-- 1 zdsoftro zdsoftro 1397 5月 25 20:35 LICENSE
drwxr-xr-x 2 zdsoftro zdsoftro 21 10月 18 15:44 man
-rw-r--r-- 1 zdsoftro zdsoftro 49 5月 25 20:35 README
drwxr-xr-x 9 zdsoftro zdsoftro 91 10月 18 15:44 src
auto目录:用于编译时的文件,以及相关lib库,编译时对对操作系统的判断等,都是为了辅助./configure命令执行的辅助文件。
CHANGES文件:就是当前版本的说明信息,比如新增的功能,修复的bug,变更的功能等
CHANGES.ru文件:作者时俄罗斯人,生产了一份俄罗斯语言的CHANGE文件
conf目录:是nginx编译安装后的默认配置文件,安装时会拷贝到安装的里面里面。
configure文件:编译安装前的预备执行文件
contrib目录:该目录是为了方便vim编码nginx的配置文件时候,颜色突出显示,可以将该目录拷贝到自己的~/.vim目录下面
cp -rf contrib/vim/* ~/.vim/这样vim打开nginx配置文件就有突出的颜色显示。html目录:编译安装的默认的2个标准web页面,会拷贝到nginx的安装目录
man目录:nginx命令的帮助文档
src:nginx的源码文件
开始编译,执行./configure
备注:nginx使用yum源安装,可能导致业务上很多需要的功能模块没有开启,还是按需自己编译比较合适。
./configure --help#查看./configure 支持哪些参数


我演示使用默认参数安装:
./configure --prefix=/home/zdsoft/nginx
没有报错代表安装完成。
./configure执行完成后,会生成很多中间文件,放在objs目录下面在当前命令执行make命令
make#没有报错代表执行成功备注:这个时候,如果是第一次安装,下一步可以执行
make install命令,如果是升级,就不能执行install命令。这个时候,需要把objs目录下生成nginx二进制文件拷贝到原老版本的nginx目录下。
执行make install 安装命令
make执行完成后生成的中间件文件,都会放在objs/src目录下面
[root@localhost src]# ll
总用量 8
drwxr-xr-x 2 root root 4096 10月 18 17:15 core
drwxr-xr-x 3 root root 191 10月 18 17:15 event
drwxr-xr-x 4 root root 4096 10月 18 17:15 http
drwxr-xr-x 2 root root 6 10月 18 16:37 mail
drwxr-xr-x 2 root root 6 10月 18 16:37 misc
drwxr-xr-x 4 root root 31 10月 18 16:37 os
drwxr-xr-x 2 root root 6 10月 18 16:37 stream
[root@localhost src]# pwd
/opt/nginx-1.20.1/objs/src
[root@localhost src]#
安装完成,安装目录为:/home/zdsoft/nginx/
nginx -v #查看nginx版本
nginx -V #查看nginx编译参数,如果没有额外的参数,只会显示configure arguments: --prefix=/home/zdsoft/nginx
#这情况下,代表是默认安装,可以查看源码目录auto/options 文件。默认安装了哪些模块,哪些没有安装。
遇到的问题
./configure: error: the HTTP rewrite module requires the PCRE library.解决:
yum -y install pcre-devel./configure: error: the HTTP gzip module requires the zlib library.解决:
yum install -y zlib-devel
nginx源码编译安装(详解)的更多相关文章
- linux http服务源码编译安装详解
相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下. 什么是编译安装——编译:将源代码变为机器可执行的代码文件. ...
- apache源码编译安装详解
查看是否安装 rpm -qa httpd 如果已安装,则卸载:rpm -e 卸载 --nodeps 不考虑意外 下载 wget http://mirrors.sohu.c ...
- Nginx源码编译安装选项
[Nginx源码编译过程] make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. configu ...
- centos 下nginx源码编译安装
1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...
- QGIS源码编译步骤详解——官方新方案
目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译 方案详细可见源码文件中INSTALL.md. 源码下载 QG ...
- nginx源码编译安装
安装编译所需的包: [root@xaiofan ~]# yum install -y gcc gcc-c++ autoconf automake 安装nginx使用某些功能需要的包: [root@xa ...
- 源码编译安装MySQL8.0.20
1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...
- Linux系统 - 源码编译安装Nginx
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- Centos7通过yum跟源码编译安装Nginx
源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 tar -zxvf nginx-1.16.0.tar.g ...
随机推荐
- Mysql You can't specify target table 'newsalrecord' for update in FROM clause
这个问题是不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值.解决办法就是建立个临时的表.
- 三.Go微服务--令牌桶实现原理
1. 前言 在上一篇文章 Go微服务: 令牌桶 当中简单的介绍了令牌桶实现的原理,然后利用 /x/time/rate 这个库 10 行代码写了一个基于 ip 的 gin 限流中间件,那这个功能是怎么实 ...
- openresty(nginx) 配置 http与https使用同一个端口,禁止 IP 直接访问
准备好工作目录 mkdir work cd work mkdir conf logs 准备好 conf/nginx.conf 配置文件, 把 your.domain 换成你自己的域名 user abc ...
- Redis-技术专区-让你彻底会使用“Redis中最陌生且最强大的集合”(ZSET)【前篇】
前言介绍 很多小伙伴都跟我说,redis中,ZSet(有序集合)是他们最陌生的集合,同时也是觉得特别复杂的集合之一,在开发过程中经常会用到它,而且也是大家最不太有把握使用的集合,所以笔者就从ZSet集 ...
- Robot Framework(7)- DateTime 测试库常用的关键字列表
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 前言 所有关键字 ...
- Sentry Web 性能监控 - Metrics
系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...
- shell脚本测试变量是否为空,测试文件是否存在,sed修改配置文件参数,分支语句
Shell脚本 1. 基本的几个变量 使用$?获取最近一次的执行结果: 使用$#获取传递的参数个数,类似C语言中的int argc; 使用$@获取所有的传参,类似C语言的char **argv 2. ...
- 10分钟学会VS NuGet包私有化部署
前言 我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的. 命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(ne ...
- JS004. 获取数组最后一个元素且不改变数组的四种方法
TAG: Array.length Array.prototype.reverse() Array.prototype.slice() Array.prototype.pop() Array对象 - ...
- Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现
环境 .NET5,Consul_v1.10.2 一.简介 在微服务中利用Consul可以实现服务的注册,服务发现,治理,健康检查等. Web调站点需要调用多个服务,如果没有Consul,可能就是Web ...