nginx编译安装

安装步骤:

  1. 官网下载合适的版本,建议选择稳定版本。

    官网地址:https://nginx.org

    wget https://nginx.org/download/nginx-1.20.1.tar.gz

  2. 解压后,进入源码目录

    cd /opt
    tar -zxvf nginx-1.20.1.tar.gz
    cd nginx-1.20.1
  3. 源码文件各目录解释

    [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的源码文件

  4. 开始编译,执行./configure

    备注:nginx使用yum源安装,可能导致业务上很多需要的功能模块没有开启,还是按需自己编译比较合适。

    ./configure --help #查看./configure 支持哪些参数

我演示使用默认参数安装:

./configure --prefix=/home/zdsoft/nginx

没有报错代表安装完成。

  1. ./configure 执行完成后,会生成很多中间文件,放在objs目录下面

  2. 在当前命令执行make命令

    make #没有报错代表执行成功

    备注:这个时候,如果是第一次安装,下一步可以执行make install命令,如果是升级,就不能执行install命令。

    这个时候,需要把objs目录下生成nginx二进制文件拷贝到原老版本的nginx目录下

  3. 执行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]#
  4. 安装完成,安装目录为:/home/zdsoft/nginx/

    nginx -v  #查看nginx版本
    nginx -V #查看nginx编译参数,如果没有额外的参数,只会显示configure arguments: --prefix=/home/zdsoft/nginx
    #这情况下,代表是默认安装,可以查看源码目录auto/options 文件。默认安装了哪些模块,哪些没有安装。

遇到的问题

  1. ./configure: error: the HTTP rewrite module requires the PCRE library.

    解决:yum -y install pcre-devel

  2. ./configure: error: the HTTP gzip module requires the zlib library.

    解决:yum install -y zlib-devel

nginx源码编译安装(详解)的更多相关文章

  1. linux http服务源码编译安装详解

    相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下. 什么是编译安装——编译:将源代码变为机器可执行的代码文件. ...

  2. apache源码编译安装详解

    查看是否安装 rpm -qa httpd        如果已安装,则卸载:rpm -e 卸载  --nodeps 不考虑意外        下载 wget http://mirrors.sohu.c ...

  3. Nginx源码编译安装选项

    [Nginx源码编译过程] make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. configu ...

  4. centos 下nginx源码编译安装

    1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...

  5. QGIS源码编译步骤详解——官方新方案

    目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译   方案详细可见源码文件中INSTALL.md. 源码下载   QG ...

  6. nginx源码编译安装

    安装编译所需的包: [root@xaiofan ~]# yum install -y gcc gcc-c++ autoconf automake 安装nginx使用某些功能需要的包: [root@xa ...

  7. 源码编译安装MySQL8.0.20

    1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...

  8. Linux系统 - 源码编译安装Nginx

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  9. Centos7通过yum跟源码编译安装Nginx

    源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 tar -zxvf nginx-1.16.0.tar.g ...

随机推荐

  1. MeteoInfo-Java解析与绘图教程(四)

    MeteoInfo-Java解析与绘图教程(四) 上文我们说到,将地图叠加在色斑图上,但大部分都是卫星绘图,现在开始讲解micaps数据绘图,同样也是更多自定义配置 首先我们解析micaps数据,将之 ...

  2. 第20篇-加载与存储指令之ldc与_fast_aldc指令(2)

    ldc指令将int.float.或者一个类.方法类型或方法句柄的符号引用.还可能是String型常量值从常量池中推送至栈顶. 这一篇介绍一个虚拟机规范中定义的一个字节码指令ldc,另外还有一个虚拟机内 ...

  3. NOIP模拟21:「Median·Game·Park」

    T1:Median   线性筛+桶+随机化(??什么鬼?).   首先,题解一句话秀到了我: 考虑输入如此诡异,其实可以看作随机数据   随机数据??   这就意味着分布均匀..   又考虑到w< ...

  4. Linux的基础指令(二)

    目录:   一.列表显示目录内容-ls    二.设置别名-alias      三.统计目录及文件空间占用情况-du       四.创建新目录 -mkdir          五.创建空文件-to ...

  5. [第六篇]——云服务器之Spring Cloud直播商城 b2b2c电子商务技术总结

    云服务器 云服务器(Elastic Compute Service, ECS)是一种简单高效.安全可靠.处理能力可弹性伸缩的计算服务. 云服务器管理方式比物理服务器更简单高效,我们无需提前购买昂贵的硬 ...

  6. Docker系列(22)- DockerFile指令说明并构建自己的centos

    DockerFile常用指令 实战测试 DockerHub中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件和配置来进行构建 #创建一个自己的centos # 1.编写D ...

  7. 深度理解JVM

      1. 环境搭建 安装jdk 2. 内存溢出场景模拟 public class Test01 { public static void main(String[] args) { //测试内存溢出 ...

  8. django2获取url所有路径

    根据原文链接:https://segmentfault.com/a/1190000017378464,整理 第一步:先导入项目根的urls.py路径 from ceshiproject import ...

  9. str.strip(chars)

    strip会去除给定字符串的指定字符,指定字符可以是一个或多个,去除从左右分别进行,没有则忽略,如果需要去除某个中间的字符,必须先去除外围的字符 看几个例子,以s为例,故意设置为非对称结构, s = ...

  10. Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Ocelot+Polly缓存、限流、熔断、降级

    相关文章 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-网 ...