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处理连接的方式。
1234 events {
use epoll;
worker_connections 10240;
}
注:use:使用网络IO模型,epoll模型比select模型效率高很多。
worker_connections:每个worker能够处理的最大连接数,取决于ulimit -n的值。
nginx并发连接数:<worker_processes*worker_connections。
关于网络IO模型以后需详细学习。
相关阅读:
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
LNMP 全功能编译安装 for CentOS 6.3笔记
CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6)
Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建)
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里