nginx核心模塊常用指令


默認啟動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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM