nginx主模块指令
daemon
語(yǔ)法:?daemon on | off
缺省值:?on
若為on則以守護(hù)進(jìn)程方式執(zhí)行,默認(rèn)為on,否則控制終端結(jié)束后,nginx進(jìn)程也隨終端的結(jié)束而結(jié)束。該選項(xiàng)主要用于開(kāi)發(fā)調(diào)試,生產(chǎn)環(huán)境不建議使用。
include
語(yǔ)法:?include file | *
缺省值:?none
用于配置文件的包含,與apache的include命令類(lèi)似。include可以減少nginx主配置文件中的內(nèi)容,推薦使用。還可以進(jìn)行全局包含,例如包含一個(gè)木下的所有.conf文件?
include test/*.conf
lock_file
語(yǔ)法:?lock_file file
缺省值:?compile-time option
指定nginx采用文件加鎖時(shí)加鎖的文件。nginx中接收連接需要用到linux上的accpet系統(tǒng)調(diào)用,該操作為原子操作,通過(guò)互斥鎖實(shí)現(xiàn), gcc, Intel C++, SunPro C++ 編譯在?i386, amd64, sparc64, 和ppc64平臺(tái)上的nginx采用原子指令實(shí)現(xiàn)互斥,在其他平臺(tái)上則使用文件加鎖方式實(shí)現(xiàn)。
master_process
語(yǔ)法:?master_process on | off
缺省值:?on
是否開(kāi)啟master進(jìn)程,與daemon指令一樣都用于調(diào)試,不建議生產(chǎn)環(huán)境使用。
pid
語(yǔ)法:?pid file
缺省值:?compile-time option?Example:
nginx啟動(dòng)后,會(huì)將master進(jìn)程的id寫(xiě)入到一個(gè)文件中,該指令指定了該文件的路徑。
ssl_engine
語(yǔ)法:?ssl_engine engine
缺省值:?system dependent
指定使用的openssl引擎。可以通過(guò)openssl engine -t獲得系統(tǒng)目前使用的openssl引擎
timer_resolution
語(yǔ)法:?timer_resolution t
缺省值:?none
例子timer_resolution 100ms;
指定時(shí)間精度,默認(rèn)nginx在kevent(), epoll, /dev/poll, select(), poll()等調(diào)用返回時(shí)會(huì)調(diào)用gettimeofday()函數(shù)獲取時(shí)間,如果在日志中想精確的顯示時(shí)間可以通過(guò)該指令設(shè)置
user
語(yǔ)法:?user user [group]
缺省值:?nobody?
指定nginx worker進(jìn)程運(yùn)行的用戶(hù),默認(rèn)為nobody, nobody是linux上一個(gè)權(quán)限很低的系統(tǒng)用戶(hù)。
worker_cpu_affinity
語(yǔ)法:?worker_cpu_affinity cpumask [cpumask...]
缺省值:?none
例子,給每個(gè)worker進(jìn)程綁定一個(gè)cpu
worker_processes 4;
workcpu_ affinity 0001 0010 0100 1000;
該選項(xiàng)可以綁定worker進(jìn)程和CPU.實(shí)際上底層通過(guò)調(diào)用sched_setaffinity()系統(tǒng)調(diào)用實(shí)現(xiàn)
worker_priority
語(yǔ)法:?worker_priority [-] number
缺省值:?on
是否給worker進(jìn)程分配優(yōu)先值
worker_processes
語(yǔ)法:?worker_processes number
缺省值:?1
nginx中可以有多個(gè)worker進(jìn)程,通常為了1.更好的發(fā)揮多核CPU性能
2.減少磁盤(pán)I/O阻塞造成的延遲時(shí)間
3.減少單個(gè)進(jìn)程調(diào)用select()/poll()使用的連接數(shù),
說(shuō)明:select(), poll()都是I/O復(fù)用接口,通過(guò)輪詢(xún)來(lái)獲取套接字上可讀或可寫(xiě)的事件,執(zhí)行速度和監(jiān)聽(tīng)的鏈接(即文件描述符)的數(shù)量呈線(xiàn)性增長(zhǎng),監(jiān)聽(tīng)的套接字越多,性能越差,因此select和poll監(jiān)聽(tīng)的套接字應(yīng)盡可能的少,這里nginx通過(guò)把連接分配給多個(gè)進(jìn)程來(lái)減少單個(gè)進(jìn)程的監(jiān)聽(tīng)數(shù)。
worker_rlimit_nofile
語(yǔ)法:?worker_rlimit_nofile limit?缺省值:?'
指定worker進(jìn)程打開(kāi)的文件描述符的最大數(shù)量
working_directory
語(yǔ)法:?working_directory path?缺省值:?--prefix
指定nginx中worker進(jìn)程的工作目錄,默認(rèn)為nginx安裝目錄總結(jié)
以上是生活随笔為你收集整理的nginx主模块指令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nginx-rtmp源码概述
- 下一篇: 理解音视频 PTS 和 DTS