Nginx必备知识1:组成、版本介绍、源代码目录意义、编译Nginx

  • Nginx组成

    1. Nginx二进制可执行文件:汽车整体
    2. Nginx.conf配置文件:驾驶员
    3. access.log访问日志:GPS点集
    4. error.log错误日志:黑匣子
  • Nginx版本发布内容

    每次发布有三方面内容:

    1. feature
    2. bugfix
    3. change

    版本分为mainline(单数,实验性功能)和stable(双数,稳定)版本。

  • Nginx各种版本

    • Nginx开源版:nginx.org :开源免费
    • Nignx Plus商业版:nginx.com:收费
    • Tengine:淘宝在nginx基础上的重构,无法随着Nginx官方版本而升级
    • OpenResty:同样有开源版和商业版
  • 源代码目录

    在这里插入图片描述

    • auto文件夹

      包含4个子目录,cc用于编译,os是对操作系统的判断,其他是为了辅助Config执行时判定Nginx支持哪些模块。

    • CHANGES

      描述Nginx每个版本中提供了哪些特性。

    • CHANGES.ru

      因为作者是Russian,所以有一个俄语版的change文件

    • conf文件夹

      一个配置的示例文件。

    • configure

      是一个脚本,用于生成中间文件,执行编译前的必备动作。

      编译前可以查看configure支持哪些参数: ./configure --help | more

      主要分为以下几类参数:

      1. 确定Nginx在执行过程中会找哪些目录下的文件作为支持文件,默认只需要指定prefix文件路径,其他的在其下生成。
      2. 确定使用和不使用哪些模块
        1. --with的默认不编译进Nginx
        2. --without的默认编译进Nginx,只有显式的指明without-http_gizp_module才会不编译进去
      3. 特殊情况,第三方模块、debug日志等等
    • contrib文件夹

      文件夹里提供了两个perl脚本。是vim的工具。

      常规情况下用vim打开Nginx的配置文件,显示内容没有颜色变化(即格式),而将contrib下的文件拷贝到vim文件夹下之后,用此时的vim工具打开配置文件,就能显示出不同颜色标记下的配置文件格式。

      cp -r contrib/vim/* ~/.vim/ # 拷贝命令
      
    • html文件夹

      里面提供了两个标准HTML文件。

      tree html/
      

      一个是错误文件,一个是默认Nginx欢迎文件。

    • man文件夹

      Linux对Nginx的帮助文件。

    • src文件夹

      Nginx的源代码。

  • 编译Nginx

    1. 使用默认参数:./configure --prefix=/home/geek/nginx 指定安装目录

      编译过程中会生成一些中间文件,放在objs文件夹下。其中,最重要的是ngx_modules.c文件,它制定了下面在执行编译时哪些模块会被编译进Nginx

    2. 然后执行make进行编译。

      如果一切顺利,就会在objs文件夹下看到可执行的nginx二进制文件。

    3. 执行make install

      执行完成后,进入prefix指定的安装目录/home/prefix/nginx下可以看到所有执行目录,

      • nginx的二进制执行文件在sbin文件夹下;
      • 决定nginx功能的文件在conf文件夹下,内容就是源代码中config文件夹下内容拷贝了一份;
  • Reference

  1. Nginx核心知识100讲:1-8
发布了800 篇原创文章 · 获赞 1155 · 访问量 72万+

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/104621929
今日推荐