nginx架构-总结

nginx工程的目录结构:
nginx
├── _include
├── signal
├── misc
├── net
├── logic
├── proc
└── app

@app:存放main函数和核心的源文件;
@_include:存放各种头文件;
@misc:存放杂合性的源文件;
@net:存放和网络处理相关的源文件;
@logic:存放和业务处理相关的源文件;
@proc:存放和进程处理有关的源文件;
@signal:存放和信号处理有关的源文件;

makefile目录结构:
nginx
├── _include
├── signal
├── └── makefile
├── misc
├── └── makefile
├── net
├── └── makefile
├── logic
├── └── makefile
├── proc
├── └── makefile
├── app
├── └── makefile
├── common.mk
├── config.mk
└── makefile

@signal/makefile:编译signal源文件;
@misc/makefile:编译misc源文件;
@net/makefile:编译net源文件;
@logic/makefile:编译net源文件;
@proc/makefile:编译proc源文件;
@app/makefile:编译app源文件;
@common.mk:各子目录会include这个文件,它是核心通用的编译文件,内容主要是编译规则;
@config.mk:编译配置文件,内容主要是存储一些变量;
@makefile:编译入口文件,用于轮询子目录下的所有编译文件;

代码逻辑:

p_config->Load("nginx.conf"); //把配置文件内容载入到内存    
ngx_log_init(); //日志初始化(创建/打开日志文件),这个需要配置项,所以必须放配置文件载入的后边;
ngx_init_setproctitle(); //把环境变量搬家
cdaemonresult = ngx_daemon();//按守护进程方式运行
ngx_master_process_cycle(); //不管父进程还是子进程,正常工作期间都在这个函数里循环;
    sigprocmask(SIG_BLOCK, &set, NULL); //第一个参数用了SIG_BLOCK表明设置进程新的信号屏蔽字为 “当前信号屏蔽字和第二个参数指向的信号集的并集
    ngx_setproctitle(title
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值