• nginx重新整理——————编译nginx[二]


    前言

    简单编译一下nginx。

    正文

    为什么我们要去编译nginx。

    1. 系统安装,比如yum安装,会把nginx 模块直接编译进来。

    这意味着,我们无法使用第三方的包。如果我们需要使用第三方包,那么需要编译出来。

    第一步需要下载出nginx 包:

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

    第二步进行解压:

    tar -xzf nginx-1.14.2.tar.gz
    

    介绍一下里面的目录结构:

    第一个是auto 目录:

    cc 是用于编译的。

    lib 就是使用的库

    os 选择不同的操作系统

    其他的都是根据option 不同的选项然后做出不同的选择。

    这个就是对项目的介绍了。

    conf 就是配置了

    configure 编译中间文件的程序

    contrib 一些高亮辅助的东西,比如vim的高亮

    cp -r contrib/vim/* ~/.vim/
    

    这样就有高亮了。

    然后这个html就是静态文件了。

    这个man不用多少了,就是man 帮助。

    src 自然就是原代码了。

    开始编译:

    第一类配置:

    就是安装到什么地方,如果没有指定,那么会在--prefix 之下。

    这个选择用户和组了。

    第三类就是使用什么模块了:

    默认不会编译进去的。

    这个带without 就是默认编译进去。

    下面这一类就是编译时候的资源选择了:

    然后进行编译:

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

    然后你编译的时候可能会发现:

    c compiler cc is not found
    

    那么你需要这样:

    yum -y install gcc-c++
    

    安装完,重新编译一下:

    可以看到一些中间文件:

    其中ngx_modules.c 就是将要安装的模块。

    然后执行make,就会看到nginx二进制了:

    然后使用make install 进行安装:

    然后介绍一下这些文件:

    1. conf 就是nginx 配置文件

    2. html 静态文件

    3. logs 日志

    4. sbin 那么就是这个二进制文件了,这就是自己编译安装。

    后面如果需要新的模块,那么就需要替换这个nginx了。

    大概是这样了,下一节热部署和日志切割。

  • 相关阅读:
    ES6笔记(二):对象简写
    python通过protobuf实现rpc
    Python之mmap内存映射模块(大文本处理)说明
    python 基于Avro实现RPC
    python 使用 thrift 教程
    软光栅(BlinnPhong 模型,无贴图)(Python)
    递归绘制贝塞尔曲线
    计算机网络核心概览
    BlinnPhong 光照模型 Demo (Python)
    博客园图片批量自动上传
  • 原文地址:https://www.cnblogs.com/aoximin/p/16213137.html
Copyright © 2020-2023  润新知