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 ...
随机推荐
- 剖析虚幻渲染体系(11)- RDG
目录 11.1 本篇概述 11.2 RDG基础 11.2.1 RDG基础类型 11.2.2 RDG资源 11.2.3 RDG Pass 11.2.4 FRDGBuilder 11.3 RDG机制 11 ...
- 使用uView UI+UniApp开发微信小程序
在前面随笔的介绍中,我们已经为各种框架,已经准备了Web API.Winform端.Bootstrap-Vue的公司动态网站前端.Vue&Element的管理前端等内容,基本都是基于Web A ...
- Cookie在哪里看
更多java学习请进: https://zhangjzm.gitee.io/self_study
- 多个mysql同时运行
一.准备 mysql下载地址 https://dev.mysql.com/downloads/mysql/ 1.下载 2.解压缩 3.创建my.ini [Client] port = 3307 [my ...
- java IO操作,看完你应该就清晰了。
前言: java中IO里的一些知识对于一个java新手来说,是比较难理解的.因为里面存在一些很绕的概念,比如: 1.到底是读入写出,还是读出写入: 2.我要将一个文件的内容拷贝到另一个文件是先用Inp ...
- Hive的分桶表
[分桶概述] Hive表分区的实质是分目录(将超大表的数据按指定标准细分到指定目录),且分区的字段不属于Hive表中存在的字段:分桶的实质是分文件(将超大文件的数据按指定标准细分到分桶文件),且分桶的 ...
- Vue项目-初始化之 vue-cli
1.初始化项目 a.Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 @vue/cli 搭建交互式的项目脚手架. 通过 @vue/cli + @vue/cli-servi ...
- (5)java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-Spring Boot简介
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置 ...
- 谈谈raft fig8 —— 迷惑的提交条件和选举条件
谈谈raft fig8 -- 迷惑的提交条件和选举条件 前言 这篇文章的思路其实在两个月前就已经成型了,但由于实习太累了,一直没来得及写出来.大概一个月前在群里和群友争论fig8的一些问题时,发现很多 ...
- php curl下载文件由于空格导致下载文件失败
<?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($ ...