默认启动Nginx时,使用的配置文件是: 安装路径/conf/nginx.conf 文件,可以在启动nginx的时候,通过-c来指定要读取的配置文件
常见的配置文件有如下几个:
- nginx.conf:应用程序的基本配置文件
- mime.types:MIME类型关联的扩展文件
- fastcgi.conf:与fastcgi相关的配置
- proxy.conf:与proxy相关的配置
- sites.conf:配置Nginx提供的网站,包括虚拟主机
核心模块指令:error_log、include、pid、user、worker_cpu_affinity、worker_processes
1、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
你可以包含一些其他的配置文件来完成你想要的功能。
http {
#......
include mime.types;
include proxy.conf;
#......
}
3、其他指令
指令和使用环境 |
语法和描述 |
pid |
语法: 文件路径:pid logs/nginx.pid 默认值:在编译时定义 用于配置nginx守护进程的pid文件路径 |
user |
语法: user username ; user username groupname; 默认值:在编译时定义,若未定义,则使用nginx的master进程的用户和用户组 该指令将允许你定义用户和组别,nginx的worker进程将使用这些设置运行 |
worker_cpu_affinity |
语法: worker_cpu_affinity 1000 0100 0010 0001; worker_cpu_affinity 10 10 01 01; worker_cpu_affinity ; 默认值:无 该指令与woker_processes协同工作,它可以让你的worker进程影响cpu内核,数字序列与worker进程一样多。 如果你配置nginx使用3个worker进程,那么就会有3个数字序列(可以理解为3个块),对于双核cpu,那么每一个块将会有两位数字,worker_cpu_affinity 01 01 10 1、第一块(01)指第一个worker进程会受第二个内核影响 2、第二块(01)指第二个worker进程会受第二个内核影响 3、第三块(10)指第三个worker进程会受第一个内核影响 注意:worker_cpu_affinity只建议针对多核处理器而非超线程处理器 语法:worker_cpu_affinity cpummask [cpumask] 默认值:无 说明:该选项仅适用于Linux,该选项允许你将worker进程绑定到一个CPU上,通过调用sched_setaffinity() 例如: worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; 以上指令实现了将每一个进程绑定到一个cpu worker_processes 2;worker_cpu_affinity 0101 1010; 以上指令实现了将第一个worker进程绑定到cpu0/cpu2 第二个worker进程绑定到cpu1/cpu3 这适用于超线程(HTT)cpu |
worker_processes |
语法: worker_processes 4; 默认值:1 定义工作进程数量,nginx可以将请求的处理分到多个工作进程,如果属于cpu多核建议增加该值,如果一个进程由于慢的I/o操作被阻塞,那么进入的工作进程将转交给其他工作进程 注:根据负载自动调整worker进程设置:worker_processes auto; |