1,conf:配置文件;html:存储网页相关文件;log:存储日志文件;sbin:存储可执行程序
2,nginx启动代码:
nginx是多进程:一个master多个worker(配置文件中查看进程数,打开配置文件)
3.每个进程同时监听所有server.当多个进程同时监听在一个端口:惊群(所有进程同时被唤醒挂起,但只有一个进程进行解决处理)解决:轮流监听,不同时监听。实现:用一把锁(共享内存),哪个进程有锁谁就监听处理。查看共享内存:函数中有中所有进程的共享内存
4.source insight:阅读源码软件
5.nginx为什么不用多线程,而是多进程?
多线程需要加锁,线程之间会有同步问题。多进程保证请求之间相对独立。Nginx 要保证它的高可用 高可靠性, 如果Nginx 使用了多线程的时候,由于线程之间是共享同一个地址空间的,当某一个第三方模块引发了一个地址空间导致的断错时 (eg: 地址越界), 会导致整个Nginx全部挂掉; 当采用多进程来实现时, 往往不会出现这个问题.
6.文件中数组中可查看nginx所有模块