• Nginx手动编译、安装超超详解


    一、为什么要手动编译Nginx

    Nginx安装除了编译以外,我们还可以直接用操作系统上自带的工具比如说yum、apt-get直接安装。

    但是直接安装Nginx二进制文件有一个问题:Nginx二进制文件会把模块直接编译进来,Nginx官方模块并不是每一个都会默认开启,如果想要添加第三方Nginx模块,必须通过编译Nginx才能把第三方强大生态圈中的功能添加到Nginx中。

    二、下载Nginx

    1、官网

    http://nginx.org/

    找到右下角的download:
    在这里插入图片描述
    在这里插入图片描述
    我们复制链接地址,到linux服务器中。
    在这里插入图片描述

    2、下载至linux服务器

    # 下载
    wget http://nginx.org/download/nginx-1.24.0.tar.gz
    # 解压
    tar -zxvf nginx-1.24.0.tar.gz
    # 进入到源码目录
    cd nginx-1.24.0/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3、源码目录分析

    在这里插入图片描述

    • auto目录:主要包含用于编译的核心功能、lib库以及辅助config配置文件的核心功能。
    • CHANGES文件:包含nginx每一个版本中提供的特性及bug-fix。
    • CHANGES.ru文件:俄罗斯版本的change文件。
    • conf目录:该目录中包含示例配置文件。
    • configure脚本:该脚本用于生成中间文件,执行编译前的一个必备动作。
    • contrib目录:提供vim工具,使用vim可以高亮显示conf配置文件(需要手动拷贝:cp -r contrib/vim/* ~/.vim
    • html目录:提供了两个html文件,一个是首页一个是50x错误。
    • man目录:帮助文件。
    • src目录:源代码。

    4、编译安装

    # 查看configure 支持的参数,其中包含指定某些路径、开启某些模块、编译中特殊参数
    #./configure --help | more
    
    # 安装nginx必备依赖库
    yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
    # 进行编译,指定安装目录,没什么报错就是编译成功
    ./configure --prefix=/nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    configure命令执行完之后,会生成一些中间文件,存放在objs目录下:
    在这里插入图片描述
    其中,ngx_modules.c文件中,决定了我们在执行编译时,哪些模块会编译进nginx。

    # 在nginx根目录进行编译(configure所在的目录)
    make
    
    • 1
    • 2

    此时又生成了大量的中间文件,以及执行的nginx二进制文件(在objs目录下):
    在这里插入图片描述

    # 安装(configure所在的目录)
    make install
    
    • 1
    • 2

    5、安装目录

    在这里插入图片描述

    • conf目录包含配置文件
    • sbin目录包含二进制可执行文件
    • logs目录包含日志文件
    • html包含html文件

    三、启动

    1、启动

    # 进入到sbin目录
    cd /nginx/sbin
    # 启动
    ./nginx
    
    • 1
    • 2
    • 3
    • 4

    2、访问一下80端口

    打开默认的index页面!
    在这里插入图片描述

  • 相关阅读:
    可以使用clang-format检查格式
    openfeign服务调用实现
    js 事件的委派
    micropython实现mpy的ota(有用,推荐)
    vc visual studio旧 版本 下载
    java学习第三天笔记-java基础概念14-扩展项目和设置39
    网络运行安全
    使用vue-cli搭建SPA项目
    WEB与低代码:B/S架构在开发中的应用与优势
    PyQt5写一个Python代码执行器
  • 原文地址:https://blog.csdn.net/A_art_xiang/article/details/133012260