买了极客时间上陶辉的Nginx核心知识100讲,正在学。链接

Nginx 4个组成部分

  1. 二进制可执行文件
  2. nginx.conf 配置文件
  3. access.log
  4. error.log

nginx 版本

  1. Mainline主干版本。版本号奇数,功能多,但是不一定稳定。
  2. Stable 稳定版本。版本号偶数,

开源版本:nginx.org

商业版:nginx.com

OpenResty:Nginx + 内置Lua库 + 第三方模块+大多数依赖项

编译自己的nginx,因为模块要求不一样。

  1. 下载nginx

    nginx/download

  2. 介绍各个目录

    auto 主要3个子目录。cc用于编译。lib包含的库。os判断操作系统相关。其他辅助config脚本执行的时候判断nginx支持哪些模块,有哪些能用。

    changes变更记录。.ru俄文版的changes。

    conf,配置文件示例,到时候可以copy到安装目录去。

    configure文件用于生成中间文件,执行编译前的必备动作。

    contrib。把里面的vim文件夹内容copy到~/.vim目录下面,能让编辑conf文件有缩进,字体等格式。

    man文件是帮助文件,估计就是manual的意思。里面有个nginx.8 文件,是一个manual文件,用man nginx.8打开。

    src源代码。

  3. Configure(linux惯例)

    ./Configure --help | more .参数分3类。

    1. 指定一些路径,比如log的路径等。
    2. 使用or不使用哪些模块。
    3. 编译时候的特殊参数
    4. configure时可能少pure-develzlib-devel,通过yum安装一下即可
    5. ./configure --prefix=/home/nginx/ 会写到nginx二进制文件中,热部署的时候需要一致。
  4. 中间文件介绍

    configure完成后在objs生成文件。重点是nix_modules.c文件,里面有ngx_modules数组,包含所有的模块。还有nginx二进制文件。

  5. 编译

    make编译。在objs中生成。

  6. 安装

    make install 。install到上面configure的目录中。

最新文章

  1. .NET下载文件报错System.UnauthorizedAccessException的解决方法
  2. Mvc4学习笔记一(Ajax.ActionLink)
  3. Codeforces Round #381 (Div. 2)D. Alyona and a tree(树+二分+dfs)
  4. 二模 (16) day1&day2
  5. [BILL WEI]SQL 存储过程学习
  6. 用Feed43为随意站点定制RSS feed教程~
  7. grails的controller和action那点事---远程调试groovy代码
  8. Unity 动态加载 Prefab
  9. 【java线程系列】java线程系列之java线程池详解
  10. QUIC协议的分析,性能测试以及在QQ会员实践
  11. [笔记]猿计划(WEB安全工程师养成之路系列教程):02HTML头部标签
  12. 【感悟】一次不太好的寻找bug的体验,RecyclerView
  13. [intoj#7]最短距离
  14. Day28--Python--网络通信协议 tcp与udp下的socket
  15. 即时通讯IM工具
  16. hadoop集群搭建(hdfs)
  17. async异步注解和aspect切面注解等注解的原理
  18. EF+Sqlite 动态设置连接字符串
  19. 超酷 CSS3/HTML5 3D 飘带菜单实现教程
  20. 蓝桥杯—ALGO-12 幂方分解(递归递推)

热门文章

  1. Spring Framework 源码编译导入
  2. 12.方法重载overload
  3. Jenkins自动执行python脚本输出测试报告
  4. Go的http包中默认路由匹配规则
  5. Android studio 连接真机
  6. CCPC-wannafly Camp Day2 讲课内容总结(杜瑜皓-数据结构)
  7. orm 锁 和 事务
  8. 数据结构与算法 --- js描述栈
  9. IDEA debug下取消后续操作
  10. 微服务之docker(二)