皮皮网

【minihttpd源码分析】【一百源码】【hpy源码】nginx源码编译

来源:android在线查看源码 时间:2024-11-23 06:00:18

1.Nginx源码分析 - 主流程篇 - 全局变量cycle初始化
2.LinuxUbuntu安装Nginx(在线安装&源码编译安装)
3.nginx源码分析--master和worker进程模型
4.Nginx源码交叉编译-保姆级移植ARM
5.WSL2子系统安装CentOS8及源码编译Nginx1.18+PHP7.4+MySql8.0开发环境

nginx源码编译

Nginx源码分析 - 主流程篇 - 全局变量cycle初始化

       Nginx的源译全局初始化过程围绕全局变量“cycle”展开,位于/src/core/cycle.c文件,码编其数据结构为“ngx_cycle_t”。源译了解Nginx源码前应掌握cycle全局变量初始化流程。码编minihttpd源码分析

       cycle初始化分为以下步骤:

       创建内存池

       用于后续分配的源译所有内存。

       拷贝配置文件路径前缀

       如“/usr/local/nginx”,码编存储在cycle->conf_prefix中。源译

       复制Nginx路径前缀

       存储于cycle->prefix。码编

       复制配置文件信息

       包含文件路径,源译如“/nginx/conf/nginx.conf”。码编

       复制配置参数信息

       初始化路径信息

       初始化打开的源译一百源码文件句柄

       初始化shared_memory链表

       新旧链表比较,保留相同内存,码编释放不同。源译

       遍历并打开文件列表(如日志、码编配置文件)

       创建并初始化共享内存

       比较新旧共享内存,源译保留或创建。hpy源码

       处理listening数组并开始监听

       处理socket监听。

       关闭或删除old_cycle资源

       关键点在于内存池的创建、配置文件解析、文件句柄与共享内存的初始化、socket监听与资源关闭,osp源码整个流程确保Nginx核心组件的初始化完成。

LinuxUbuntu安装Nginx(在线安装&源码编译安装)

       在Ubuntu .环境中,有两种常见的Nginx安装方式,分别是在线安装和源码编译安装,版本为1..0。大叔源码以下是对这两种方法的详细步骤:

       首先,对于在线安装(apt安装):

       1. 检查当前版本并了解安装详情,可以看到它会自动设置一些路径,比如--prefix和--conf-path,并预装常用的f配置文件,启动MySql。

       . 源码编译安装php7.4

       下载php7.4源码,安装编译工具和库文件,创建用户组和用户,配置编译参数,解压缩并移动到指定目录,检查配置并生成配置文件,安装完成。

       . LNMP环境测试

       测试Nginx和PHP-FPM的配合,配置Nginx和PHP-FPM,通过phpinfo文件验证php和Nginx的配合情况,测试phpMyAdmin,确保数据库连接无误,至此,LNMP环境测试完成。