Nginx
文章平均质量分 70
lgasuki
有来源的我会尽量注明,大多为自己学习过程中的总结,主要为了自己能看懂。可以转载。
展开
-
nginx配置解析
前篇—数据结构在内存中的映像。http块内的配置解析,内存配置结构。“加载-发现-解析”。所有模块配置解析都是由ngx_conf_parse()发起的,先调用ngx_read_token()读取一个配置项,然后调用ngx_conf_handler()来解析配置项。在http模块中,如遇到http指令,调用ngx_http_block()来解析整个http模块的配置。调用ngx_conf_p原创 2017-01-18 15:09:13 · 405 阅读 · 0 评论 -
nginx配置文件解析
Nginx为微内核加可扩展模块。自身模块有core、event、http、mail等核心模块。开发者可以基于这些核心模块开发满足自身业务需求的模块,主要是http模块。nginx的配置项的数据结构:struct ngx_cycle_s { void ****conf_ctx; ......}conf_ctx是一个指针数组,数组一共有ngx_ma原创 2017-01-18 11:31:53 · 642 阅读 · 0 评论 -
nginx的worker进程间通信
使用共享内存的方式。nginx本身很好地封装了共享内存操作的方法。1、管理共享内存的变量,一般放到全局的配置结构中,或者直接用全局变量。ngx_shm_zone_t指针引用创建的共享内存、ngx_slab_pool_t指针管理共享内存的分配与释放;2、在读取或初始化配置文件时,调用ngx_shared_memory_add向全局变量内存链表中添加一个共享内存,然后保存到之前创建的ngx_s原创 2017-01-18 19:29:26 · 1374 阅读 · 0 评论 -
Nginx相关
Nginx一个worker进程可以同时处理的请求数只受限于内存大小。不同的worker进程之间处理并发请求时几乎没有同步锁的限制,worker进程通常不会进入睡眠状态。在执行configure命令时,已经把许多模块编译进nginx中,但是否启动这些模块,一般取决于配置文件中相应的配置项。 location的匹配规则:= 把URI作为字符串,与参数中的uri做完全匹配;~ 匹配时原创 2017-01-19 11:26:35 · 449 阅读 · 0 评论 -
nginx的缓存
nginx的缓存:proxy_store存储方式按照url中的文件路径,存储在本地,nginx在指定的存储目录下依次建立各个目录和文件,性能不好(文件名长度不一致,文件的打开和查找都很慢)。proxy_cache(自定义方式,不会因url长度而产生复杂性增加和性能的降低)。nginx根据配置生成缓存对象的key,用md5。大多数文件系统下,对单个目录下的文件数量有限制,采用多级目录,level原创 2017-02-22 16:24:58 · 938 阅读 · 0 评论