默认启动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;

nginx核心模块常用指令的更多相关文章

  1. Nginx主要模块常用指令说明

    核心模块(Core Modules): 主模块(Main Module):配置和服务器全局有关的一些参数,比如错误日志.进程.权限等 user worker_processes error_logsy ...

  2. Nginx核心配置文件常用参数详解

    Nginx核心配置文件常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于Nginx权威文档的话童鞋们可以参考Nginx官方文档介绍:http://nginx.org/ ...

  3. Nginx RTMP 模块 nginx-rtmp-module 指令详解

    译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解.指令Corertmp语法:rtmp { ... }上下文:根描述:保存所 ...

  4. nginx lua模块常用的指令

    lua_code_cache 语法:lua_code_cache on | off 默认: on 适用上下文:http.server.location.location if 这个指令是指定是否开启l ...

  5. Nginx核心模块内置变量

    本文根据Nginx官网整理了Nginx的ngx_http_core_module模块的内置变量,可与Apache做对比参考.随后做了一次测试观察各变量的值,并附上测试结果. 1.变量列表 $arg_n ...

  6. Nginx核心模块

    error_log 语法:error_log file [ debug | info | notice | warn | error | crit ]默认值:${prefix}/logs/error. ...

  7. 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令

    1. error_log 含义:指定存储错误日志的文件 语法:error_log <file> [debug|info|notice|warn|error|crit] 缺省:${prefi ...

  8. Nginx核心流程及模块介绍

    Nginx核心流程及模块介绍 1. Nginx简介以及特点 Nginx简介: Nginx (engine x) 是一个高性能的web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 ...

  9. nginx -- handler模块(100%)

    handler模块简介 相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识.基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-ba ...

随机推荐

  1. gitlab 配置.ssh实现免密登陆

    首次配置gitlab的.ssh时 安装gitbash 通过gitbash 配置.ssh 打开gitbash,输入如下命令生成ssh,邮箱换成自己的 ssh-keygen -t rsa -C " ...

  2. Js 之复制到剪贴板 clipboard.js

    一.下载 https://github.com/zenorocha/clipboard.js/archive/master.zip 二.Demo示例 <!DOCTYPE html> < ...

  3. js面向对象入门

    通常我们写js以及调用: function init(){ console.log("init") } function load(){ console.log("loa ...

  4. Java并发指南14:Java并发容器ConcurrentSkipListMap与CopyOnWriteArrayList

    原文出处http://cmsblogs.com/ 『chenssy』 到目前为止,我们在Java世界里看到了两种实现key-value的数据结构:Hash.TreeMap,这两种数据结构各自都有着优缺 ...

  5. 重读APUE(5)-文件权限

    文件,目录,权限 1. 用名称打开任一个类型的文件时,对该名字中包含的每一个目录,包括它可能隐含的当前工作目录都应该具有执行权限:这就是目录执行权限通常被称为搜索位的原因: 例如:为了打开文件/usr ...

  6. StringBuffer中delete与setLength清空字符串效率比较

    问题: StringBuffer中有delete.setLength两个方法可以快速清空字符数组.哪个效率高呢? 结论:从清空字符串角度看,两者效率都很高,比较来看,setLength效率更高. 分析 ...

  7. Hide()方法不生效

    有时候Jquery中的.hide()不起作用,有时是因为在函数中包括着,   $(".select-dropdown").hide(); 在hide中加一个1就行了   文章来源: ...

  8. C之数据类型

    java的数据类型 byte 1个字节 boolean 1个字节 short 2个字节 char 2个字节 int 4个字节 float 4个字节 long 8个字节 double 8个字节 c语言的 ...

  9. quartz.net 学习

    目录 简介  Quartz是什么?  Quartz的应用场景Quartz的安装  安装  源码Hello World范例API  核心API    Scheduler接口:    Job接口    J ...

  10. ubuntu18 bluebooth

    QDBusPendingReply: type ManagedObjectList is not registered with QtDBus 19:36:14: The program has un ...