Nginx系列1之部分模块详解
生活随笔
收集整理的這篇文章主要介紹了
Nginx系列1之部分模块详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 內核模塊: 名稱: daemon 語法: daemon on |off 默認值: on 功能: 決定nginx 在前臺執行還是后臺守護進程執行的 ================== 名稱: Env 語法: env var | var=value 默認值: 沒有 功能: 該指令用于對環境變量重新定義 =================== 名稱: debug_points 語法: debug_points [ stop| abort ] 默認值: none 功能: 激活所有設置的調試點 ==================== 名稱: error_log 語法: error_log file [debug | info | notice | warn | error | crit] 默認值: ${prefix}/logs/error.log 功能: 這個指令用于nginx服務器(包括FastCGI)指定錯誤日志的文件和記錄錯誤的級別。 日志的級別有debug,info,notice,warn,error,crit, debug提供了全部日志,而crit僅僅提 供了關鍵錯誤 ===================== 名稱: include 語法: include file | * 默認值: 沒有 功能: 該指令用于載入配置文件,需要注意的要是如果沒有指定絕對路徑,那么文件的路徑就和配置文件的目錄相關。換言之,nginx會認為與其配置文件在同一個目錄下 ===================== 名稱: lock_file 語法: lock_file file 默認值: 編譯時指定 功能: Nginx使用了連接互斥鎖進行順序的accept()系統調用,如果Nginx使用gcc,Intel,C++ 或者是Sunpro C++在i386,amd64和ppc64編譯創建,那么Nginx服務器就自動采用異步互斥進行訪問控制,而在其他情況下鎖文件會被使用。默認是不使用。 例如: lock_file /var/log/lock_file ===================== 名稱: master_process 語法: master_process on | off 默認值: on 功能: 如果設置為on,那么Nginx將會開啟多個進程,包括一個主進程(就是master進程)和多個worker進程;如果設置為off即為禁用,那么Nginx將會以獨一無二的進程,即master進程來運行。生產環境下不要使用off ===================== 名稱: ssl_engine 語法: ssl_engine engine 默認值: 依賴于系統 功能: 該指令設置想要使用的Openssl引擎,可以通過下面的命令查找可以用的引擎。 [root@compute01 ~]# openssl engine -t (rdrand) Intel RDRAND engine [ available ] (dynamic) Dynamic engine loading support [ unavailable ] ===================== 名稱:timer_resolution 語法: timer_resolution 時間 默認值: 沒有 功能:該指令用于縮短gettimeofday()系統調用的時間,默認情況下gettimeofday() 在kevent(),epoll,/dev/poll,select()及poll()調用完成之后調用。如果在具體的使用中需要一個畢竟準確的時間來記錄$upstream_response_time 或者 $msec變量,那么將會使用到該指令 =================== 名稱: user 語法:user user [group] 默認值: nobody nobody 功能:如果master進程以root用戶運行,那么Nginx將會使用setuid()、getuid()來實現User、Group的接替工作,如果沒指定group,Nginx會使用相同User一樣的組名稱,默認情況下,使用Nobody =================== 名稱: worker_cpu_affinity 語法: worker_cpu_affinity cpumask cpumask 默認值: none 功能:設置worker進程和cpu的親和力, 例子: worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000 這種設置將每一個進程綁定到一個CPU上, worker_processes 2; worker_cpu_affinity 0101 1010; 這樣設置是將第一個worker綁定到CPU0/CPU2,將第二個綁定到CPU1/CPU3上面 =================== 名稱: worker_priority 語法: worker_priority [-] number 默認值: on 功能: 這個指令用于指定worker的進程的優先級,從-20(最高級)到19(最低級),默認值為0,注意kernel進程運行在-5優先級,因此不建議設置-5或嬌小的。 =================== 名稱: work_processes 語法: worker_processes number 默認值: 1 功能: 如果Nginx提供了SSL,或者是gzip,即對CPU的使用率比較高,并且系統中有2個以上的CPU或者內核,那么可以設置worker_processes的值為CPU的數量,或者內核的數量。如果提供了大量的靜態文件,并且總的數量超過了有效的內存大小,那么可以增加該指令的值,以從分利用磁盤的帶寬,。 由于以下原因,nginx可以能使用多個worker進程: 1 使用SMP 2 在worker進程阻塞了磁盤I/O時,設置多個worker經常可以減少延遲,具體來說就是如果多個worker進程由于慢的I/O操作被阻塞,那么進入的請求會被轉交給其他人的worker進程, 3 當使用了select()/poll()限制了每一個進程的連接數時。 =================== 名稱: worker_rlimit_core 語法: worker_rlimit_core size 默認值: 功能: 定義了每個進程核心文件的最大值,主要用于debug。 =================== 名稱: worker_rlimit_nofile 語法: worker_rlimit_nofile limit 默認值: No value specified , so OS default 功能: 該指令用于定義一個worker進程可以同時處理的文件數量。 =================== 名稱: working_directory 語法: working_directory 路徑 默認值: 依賴于--prefix 功能:定義worker進程的工作目錄,僅用于定義核心(core)文件的位置,對于該目錄,worker進程用戶(user指令指定的用戶) 必須有寫的權限,用于能夠寫入核心。 =================== Nginx 的內核模塊提供了以下兩個變量 名稱: $pid 功能: 該變量表示當前Nginx服務器的進程ID號 =================== 名稱: $realpath_root 功能: 沒有找到相對應的資料 =================== Nginx事件模塊: 用于控制Nginx如何處理連接,該模塊的指令即指令的一些參數會對應用程序的性能產生重要的影響。因此在設置時要慎重 名稱: accept_mutex_delay 語法:accept_mutex_delay Nms 默認值: 500ms 功能:如果一個工作進程(worker process) 沒有互斥鎖,那么它至少在這個設定值的時間后才會回收。 =================== 名稱: debug_connection 語法: debug_connect [ip|CIDR] 默認值: none 功能: =================== 后續工作上用到后后繼續補充。。。。。。
轉載于:https://www.cnblogs.com/liaojiafa/p/6046079.html
總結
以上是生活随笔為你收集整理的Nginx系列1之部分模块详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中文转换成字节数组
- 下一篇: nginx动静分离配置_Nginx动静分