nginx配置文件主要分为六个区域:main section、events section、http section、sever section、

location section、upstream section。依据这个分类学习nginx的模块。

main module:主要控制子进程的所属用户/用户组、派生子进程数、错误日志位置/级别、pid位置、子进程优先级、进程对应cpu、进程能够打开的文件描述符数目等。

user kingnet kingnet;worker_processes 4;error_log logs/error.log notice;pid logs/nginx.pid;# worker_priority -5;# worker_cpu_affinity 0001 0010 0100 1000;worker_rlimit_nofile 1024;

注:worker_cpu_affinity:指定进程对应cpu,上面配置是第一个进程对应cpu0,第二个进程对应cpu1,第三个进程对应cpu2,第四个进程对应cpu3,也可以指定一个进程对应多个cpu。比如0101表示进程对应cpu0/cpu2。

worker_rlimit_nofile:指定每个woker可以打开的文件描述符数目,一般和worker_connections的值是相同的。

event module:控制nginx处理连接的方式。

events {    use epoll;    worker_connections 10240;}

注:use:使用网络IO模型,epoll模型比select模型效率高很多。

worker_connections:每个worker能够处理的最大连接数,取决于ulimit -n的值。

nginx并发连接数:<worker_processes*worker_connections。

关于网络IO模型以后需详细学习。

参考文档