当前位置: 首页 > news >正文

网站做关键词库的作用新手seo入门教程

网站做关键词库的作用,新手seo入门教程,长沙网红打卡景点,广州市越秀区建设局网站文章目录 前述一、nginx 进程模型基本流程二、源码里的小点1.对字符串操作都进行了原生实现2.配置文件解析也是原生实现待续 前述 通过对 nginx 的了解和代码简单阅读,发现这个C代码的中间件确实存在过人之处,使用场景特别多,插件模块很丰富…

文章目录

    • 前述
    • 一、nginx 进程模型基本流程
    • 二、源码里的小点
      • 1.对字符串操作都进行了原生实现
      • 2.配置文件解析也是原生实现
      • 待续

前述

通过对 nginx 的了解和代码简单阅读,发现这个C代码的中间件确实存在过人之处,使用场景特别多,插件模块很丰富,近些年 nginx 用户量也是飙升,所以和大家一起学习下 nginx 源码。后续通过阅读源码方式不断更新本篇文章,希望能够坚持读下去,并给大家带来 nginx 源码级的阅读体验。[抱拳]

个人阅读的 nginx 代码版本度盘: nginx-release-1.26.0.tar.gz

其他或最新版本见 nginx 官网:https://nginx.org/

一、nginx 进程模型基本流程

在这里插入图片描述
当然了,除了上述进程模型流程,I/O多路复用技术也是必然的,大家可以从目录 nginx-release-1.26.0\src\event\modules\ 下找到:
在这里插入图片描述
这个实现也是比较丰富的,如果不熟悉I/O多路复用,可阅读:I/O多路复用技术最佳学习实践及总结(含完整实现源码) 。

二、源码里的小点

1.对字符串操作都进行了原生实现

详见 nginx-release-1.26.0\src\core\ngx_string.h
在这里插入图片描述

抽取了一个,进行了测试,如下:

#include <bits/stdc++.h>#define  NGX_OK          0
#define  NGX_ERROR      -1#define NGX_MAX_INT_T_VALUE 99999999int
ngx_atoi(unsigned char *line, size_t n)
{int  value, cutoff, cutlim;if (n == 0) {return NGX_ERROR;}cutoff = NGX_MAX_INT_T_VALUE / 10;cutlim = NGX_MAX_INT_T_VALUE % 10;for (value = 0; n--; line++) {if (*line < '0' || *line > '9') {return NGX_ERROR;}if (value >= cutoff && (value > cutoff || *line - '0' > cutlim)) {return NGX_ERROR;}value = value * 10 + (*line - '0');}return value;
}int main()
{unsigned char str[] = "999";std::cout <<  ngx_atoi(str, strlen((char*)str)) - 1 << std::endl;return 0;
}

2.配置文件解析也是原生实现

nginx中配置是以 command 的方式展现的,如 类型 ngx_command_tngx_core_commands nginx 核心运行相关命令的全局变量是的一个结构体数组,附着于 ngx_module_t ngx_core_module 之上。文件:nginx-release-1.26.0\src\core\nginx.c

ngx_core_commands 结构如下,除了 daemon 和 worker_processes (指定工作进程数,auto 表示自动根据 CPU 核心数设置) 其他都折叠起来了。
在这里插入图片描述

ngx_command_t 结构体如下,与上述图片中的参数结合来看,set是对应的回调:

struct ngx_command_s {ngx_str_t             name;ngx_uint_t            type;char               *(*set)(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);ngx_uint_t            conf;ngx_uint_t            offset;void                 *post;
};typedef struct ngx_command_s         ngx_command_t;

相同的:
ngx_http_core_commandsngx_http_core_module 之上。文件:nginx-release-1.26.0\src\http\ngx_http_core_module.c

ngx_mail_core_commandsngx_mail_core_module 之上。文件:nginx-release-1.26.0\src\mail\ngx_mail_core_module.c

类推的,其他模块的配置都是这样,通过预定义的 static ngx_command_t 静态全局变量绑定到自身模块结构体 static ngx_core_module_t ngx_*_module_ctx 上去。上述就是nginx的配置方式了,需要看哪个配置直接去对应的 src/* 模块看即可。

待续

http://www.ds6.com.cn/news/34695.html

相关文章:

  • 网站淘宝客一般怎么做自动收录网
  • 心理测试用什么网站做游戏代理平台有哪些
  • 广州个人网站制作苏州seo关键词优化外包
  • 鞍山做网站的常用的搜索引擎有哪些?
  • 网站建设与推广实训心得百度代理服务器
  • 深圳乐安居网站谁做的seo优化对网店的推广的作用为
  • 久久建筑网会员登陆中心专业关键词优化平台
  • 湖南省长沙市官网时空seo助手
  • 群晖 做网站 Java百度今日数据统计
  • 深圳招聘官网宁波seo推广联系方法
  • 网站安全解决方案百度收录申请入口
  • 网站一般都是用什么软件做的青岛seo整站优化招商电话
  • 格尔木市政府门户网站seo建设
  • wordpress 中毒济南seo网络优化公司
  • 阳山做网站应用商店aso
  • 视觉品牌网站建设我在百度下的订单如何查询
  • 山东第二波疫情最新消息汕头seo公司
  • 网站建设pdf 下载中国国家培训网
  • 苏州优化收费seo编辑是干什么的
  • 怎样建设电子商务网站如何自己做一个网址
  • 长沙专业网站设计平台中国最好的网络营销公司
  • wordpress繁体中文关键词seo排名优化
  • 淘客网站开发公司百度热搜榜
  • 做彩票网站电话多少推广关键词怎么设置
  • 外管局网站上做存量权益登记seo zac
  • 建设企业网站管理的重要性seo推广主要做什么
  • 如何在自己建设的网站上发表文章网络营销做的好的企业
  • 清远医疗网站建设站点
  • 上海网站建设包括哪些搜索引擎优化师工资
  • 国外做装修设计网站搜索引擎营销的实现方法