1 Nginx的基本配置介绍
1)配置文件
默认启动Nginx时,使用的配置文件是: 安装路径/conf/nginx.conf 文件,可以在启动nginx的时候,通过-c来指定要读取的配置文件
常见的配置文件有如下几个:
(1)nginx.conf:应用程序的基本配置文件
(2)mime.types:MIME类型关联的扩展文件
(3)fastcgi.conf:与fastcgi相关的配置(php程序的配置)
(4)proxy.conf:与proxy相关的配置(反向代理配置(没有默认文件),可以整合到nginx.conf中)
(5)sites.conf:配置Nginx提供的网站,包括虚拟主机,(可以整合到nginx.conf中)

2) Nginx的进程结构
启动Nginx的时候,会启动一个Master进程,这个进程不处理任何客户端的
请求,主要用来产生worker进程,一个worker进程用来处理一个request。

3)Nginx模块
Nginx模块分为:核心模块、事件模块、标准Http模块、可选Http模块、邮件模
块、第三方模块和补丁等

Nginx基本模块:所谓基本模块,指的是Nginx默认的功能模块,它们提供的指
令,允许你使用定义Nginx基本功能的变量,在编译的时候不能被禁用,包括:
a )核心模块:基本功能和指令,如进程管理和安全
常见的核心模块指令,大部分都是放置在配置文件的顶部,具体的指令,请参看nginx的官方文档,非常详细,参见:
http://nginx.org/en/docs/ngx_core_module.html 还有下面这个网站,也是非常不错的:http://www.howtocn.org/nginx:directiveindex

b )event事件模块:在Nginx内配置网络使用的能力
常见的events模块指令,大部分都是放置在配置文件的顶部,具体的指令,在上面那个文档里面,命令的context为events的就是events模块指令,只能在events里面使用
c )配置模块:提供包含机制(include)

2 Nginx核心模块配置
核心模块指令,重点看看:error_log、include、pid、user、worker_cpu_affinity、
worker_processes
1) error_log
配置日志的路径(默认${prefix}/logs/error.log)和日志级别
日志有6个级别:debug|info|notice|warn|error|crit

Nginx支持将不同的虚拟主机的日志记录在不同的地方
如下示例:

http{
error_log logs/http_error.log error;
	server{
		server_name one;//服务名
		access_log logs/one_access.log;//访问日志
		error_log logs/one_error.log error;//覆盖了上面的通用路径
	}
	server{
		server_name two;
		access_log logs/two_access.log;
		error_log logs/two_error.log error;
	}
}

注意:error_log off不是禁用日志,而是创建一个名为off的日志,要禁用日志,可以这么写:error_log /dev/null crit;

2)include
配置文件中引用其他配置文件
include mime.types; //引入支持类型文件
include cproxy.conf; //引入反向代理配置文件

  1. pid 配置进程日志的路径(默认 、var/log/nginx.pid)
    示例
    pid logs/nginx.pid;
  2. user 指定nginx的运行用户
    语法user user [group]
    示例
    user root;
  3. worker_cpu_affinity 将工作进程指定到固定的cpu,它调用sched_setaffinity()函数(仅支持linux系统)
    示例
    worker_processes 4;
    worker_cpu_affinity 0001 0010 0100 1000;
    指定每个进程到一个cpu

6)worker_processes 一般配置成cpu核数或者cpu的2倍

nginx全模块编译 nginx自带模块_配置文件

3 日志模块配置

1)access_log 访问日志配置

nginx全模块编译 nginx自带模块_nginx全模块编译_02

示例1

nginx全模块编译 nginx自带模块_Nginx_03


示例2

nginx全模块编译 nginx自带模块_配置文件_04


2)log_format 日志的格式

nginx全模块编译 nginx自带模块_Nginx_05


示例(有一部分是http模块的变量)

nginx全模块编译 nginx自带模块_Nginx_06


远程地址-用户-时间 请求 状态 请求的ip(http_x_forwarded_for)4 事件模块配置

1)use :根据操作系统选择事件模型

nginx全模块编译 nginx自带模块_nginx全模块编译_07


nginx全模块编译 nginx自带模块_Nginx_08

2)worker_connections 连接数

nginx全模块编译 nginx自带模块_nginx全模块编译_09