默认启动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. Python 类中__init__()方法中的形参与如何修改类中属性的值

    一.__init__()方法 如果__init__()方法为 class Cat(): def __init__(self,num) : self.num=num Python中类的__init__( ...

  2. 性能优化 | JVM性能调优篇——来自阿里P7的经验总结

    VM 调优概述: 性能定义: 吞吐量 - 指不考虑 GC 引起的停顿时间或内存消耗,垃圾收集器能支撑应用达到的最高性能指标. 延迟 - 其度量标准是缩短由于垃圾啊收集引起的停顿时间或者完全消除因垃圾收 ...

  3. 三、Navicat将远程MySql数据库数据导入本地

    1.安装本地的MySql.记住用户名和密码,这里以root,root为例. 2.打开Navicat,新建连接(连接),输入连接名,用户名,密码.确定,连接测试.这里连接名为luzhanshi.这样本地 ...

  4. android指纹识别认证实现

    Android从6.0系统支持指纹认证功能 启动页面简单实现 package com.loaderman.samplecollect.zhiwen; import android.annotation ...

  5. web开发的三层架构

    Web层 接收客户端发送过来的数据,然后需要将数据传递给service层 Service层 业务逻辑层:业务:比如检验用户名的是否存在,如果不存在则需要把用户的数据存储在数据库中,如果存在,给web返 ...

  6. 自定义Camera的setPictureSize拍照完毕出现花屏怎么解决

    Camera.Parameters parameters = mCamera.getParameters();// 获得相机参数 List<Camera.Size> sizes = par ...

  7. linux---学习3

    1.free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区. //-m:以MB为单位显示内存使用情况: free -m 2.vmstat命令的含义为显示虚拟内存状态, ...

  8. python抽取指定url页面的title方法

    python抽取指定url页面的title方法 今天简单使用了一下python的re模块和lxml模块,分别利用的它们提供的正则表达式和xpath来解析页面源码从中提取所需的title,xpath在完 ...

  9. 【c++基础】二进制格式输出char类型

    前言 使用CAN通信时将信号转换为char类型进行传输,要查看传输的信息是否正确需要将char类型数据以二进制格式输出: code #include <iostream> int main ...

  10. iOS-iOS 支付 [支付宝、银联、微信](转)

    支付宝iOSsdk官方下载sdk地址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId ...