nginx
文章平均质量分 95
@@老胡
思考与实践并行,努力成为发现和解决问题的人
展开
-
nginx 进程模型
是因为 Nginx 要保证高可用性,多线程之间会共享地址空间,当某一个第三方模块引发了一个段错误时,就会导致整个 Nginx 进程挂掉。在Nginx的main函数最后,一切准备就绪后,根据ngx_process 值的指示,判定单/多进程模式。多进程模式下Worker进程的作用(os/unix/ ngx_process_cycle.c)进行绑定时,必须cpu数目与worker进程数目相等,否则不好绑定。(3)便于worker进程与master进程间通信;进程模式分为单进程模式和多进程模式。原创 2023-10-29 22:30:49 · 221 阅读 · 0 评论 -
nginx 内存管理(二)
正常来说,通过malloc函数申请的内存都是进程私有的内存但是Linux会提供共享内存的系统调用,如mmap和munmap等//指向申请的共享内存块首地址//共享内存块大小//共享内存块名字//共享内存块日志//标志是否已经存在//共享结构//以下共享接口//创建共享内存块//释放共享内存块//创建if (shm->addr == MAP_FAILED) { //错误处理//成功,返回。原创 2023-10-29 19:15:31 · 218 阅读 · 0 评论 -
nginx 内存管理(一)
对于栈内存,函数编译的时候,编译器会移动栈到当前指针位置的代码,实现栈空间的管理。但是对于堆内存,通常需要程序员进行管理,我们常说的内存管理其实就是对堆空间的管理。nginx的内存管理可以分为两个部分,一种是常规的内存池,也就是进程平时所需要的内存管理;这里主要讲的是内存池管理内存。内存池的结构如下:一般来说,内存池的第一个结点会包含以下的数据结构,而从第二个结点开始,max——log部分会被缺省,当做空间进行分配。nginx使用内存池来管理内存,当进程需要内存时,向内存池申请,使用后释放内存池。原创 2023-10-20 15:08:14 · 533 阅读 · 0 评论 -
nginx下载与安装教程
nginx是一款业内流行、功能强大的web服务器。高性能:对正常请求,比Apache有更快的响应;高可靠:主-工作多进程模型;高并发:万级别以上,甚至十万级别+易扩展:模块化设计热部署:修改配置文件后,优雅重启;跨平台:Linux、Windows、macOS。原创 2023-10-04 15:12:45 · 252 阅读 · 0 评论