nginx簡(jiǎn)介
Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)。Nginx是由俄羅斯的伊戈?duì)枴べ愃饕蜷_發(fā)的,第一個(gè)公開版本0.1.0于2004年10月10日。
源代碼以類BSD許可證的形式發(fā)布,因其穩(wěn)定性、豐富的功能集、簡(jiǎn)單的功能集、簡(jiǎn)單的配置文件和低級(jí)系統(tǒng)的消耗而聞名。2011年6月1日,nginx1.0.4發(fā)布
Nginx是一款輕量級(jí)的web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like協(xié)議下發(fā)行。其特點(diǎn)是內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、騰訊、淘寶、京東等。
nginx的特性與優(yōu)點(diǎn)
nginx的特性
nginx是一個(gè)很牛的高性能Web和反向代理服務(wù)器,它具有很多非常優(yōu)越的特性:
- 在高連接并發(fā)的情況下,nginx是Apache服務(wù)器不錯(cuò)的替代品,能夠支持高達(dá)50000個(gè)并發(fā)連接數(shù)的響應(yīng)
- 使用epoll and kqueue作為開發(fā)模型
- nginx作為負(fù)載均衡服務(wù)器:nginx既可在內(nèi)部直接支持和PHP程序?qū)ν膺M(jìn)行服務(wù),也可支持作為HTTP代理服務(wù)器對(duì)外進(jìn)行服務(wù)
- nginx采用C進(jìn)行編寫,不論系統(tǒng)資源開銷還是CPU使用效率都比Perlbal要好很多
nginx的優(yōu)點(diǎn)
高并發(fā)連接:官方測(cè)試能夠支撐5萬并發(fā)連接,在實(shí)際生產(chǎn)環(huán)境中跑到2-3萬并發(fā)連接數(shù)
內(nèi)存消耗少:在3萬并發(fā)連接下,開啟的10個(gè)nginx進(jìn)程才消耗150M內(nèi)存(15M*10=150M)
配置文件非常簡(jiǎn)單:風(fēng)格跟程序一樣通俗易懂
成本低廉:nginx為開源軟件,可以免費(fèi)使用。而購買F5 BIG-IP、NetScaler等硬件負(fù)載均衡交換機(jī)則需要十多萬至幾十萬人民幣
支持Rewrite重寫規(guī)則:能夠根據(jù)域名、URL的不同,將HTTP請(qǐng)求分到不同的后端服務(wù)器群組
內(nèi)置的健康檢查功能:如果Nginx Proxy后端的某臺(tái)Web服務(wù)器宕機(jī)了,不會(huì)影響前端訪問
節(jié)省帶寬:支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭
穩(wěn)定性高:用于反向代理,宕機(jī)的概率微乎其微
模塊化設(shè)計(jì):模塊可以動(dòng)態(tài)編譯
外圍支持好:文檔全,二次開發(fā)和模塊較多
支持熱部署:可以不停機(jī)重載配置文件
支持事件驅(qū)動(dòng)、AIO(AsyncIO,異步IO)、mmap(Memory Map,內(nèi)存映射)等性能優(yōu)化
nginx工作原理
Nginx是由內(nèi)核和模塊組成。
Nginx本身做的工作實(shí)際很少,當(dāng)它接受到一個(gè)HTTP請(qǐng)求時(shí),它僅僅時(shí)通過查找配置文件將此次次請(qǐng)求映射到一個(gè)location block,而此location中所配置的各個(gè)指令則會(huì)啟動(dòng)不同的模塊去完成工作,因此模塊可以看做Nginx真正的勞動(dòng)工作者。通常一個(gè)location中的指令會(huì)涉及一個(gè)handler模塊和多個(gè)filter模塊(當(dāng)然,多個(gè)location可以復(fù)用同一個(gè)模塊)。handler模塊負(fù)責(zé)處理請(qǐng)求,完成響應(yīng)內(nèi)容的生成,而filter模塊對(duì)響應(yīng)內(nèi)容進(jìn)行處理。
Nginx的模塊從結(jié)構(gòu)上分為核心模塊、基礎(chǔ)模塊和第三方模塊
核心模塊:HTTP模塊、EVENT模塊和MAIL模塊
基礎(chǔ)模塊:HTTP Access模塊、HTTP FastCGI模塊、HTTP Proxy模塊和HTTP Rewrite模塊。
第三方模塊:HTTP Upstream Request Hash模塊、Notice模塊和HTTP Access Key模塊。
Nginx的模塊從功能上分為如下三類:
Handlers(處理器模塊)。此類模塊直接處理請(qǐng)求,并進(jìn)行輸出內(nèi)容和修改headers信息操作。handlers處理器模塊一般只能有一個(gè)。
Fiters(過濾模塊)。此類模塊主要對(duì)其他處理器模塊輸出的內(nèi)容進(jìn)行修改操作,最后nginx輸出。
Proxies(代理類模塊)。此類模塊是nginx的HTTP Upstream之類的模塊,這些模塊主要與后端一些服務(wù)比如FastCGI等進(jìn)行交互,實(shí)現(xiàn)服務(wù)代理和負(fù)載均衡等功能。
#######nginx進(jìn)程架構(gòu)
nginx的進(jìn)程架構(gòu)
啟動(dòng)nginx時(shí),會(huì)啟動(dòng)一個(gè)master進(jìn)程,這個(gè)進(jìn)程不處理任何客戶端的請(qǐng)求,主要用來產(chǎn)生worker線程,一個(gè)worker線程用來處理n個(gè)request。
而worker線程的線程數(shù)可以根據(jù)自己的需求來進(jìn)行配置
[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
3 worker_processes 1; //這個(gè)地方就是用來設(shè)置worker進(jìn)程個(gè)數(shù)的
[root@localhost conf]# vim nginx.conf
3 worker_processes 3;
[root@localhost conf]# systemctl restart nginx.service
[root@localhost conf]# ps -ef | grep nginx
root 119118 1 0 18:29 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 119120 119118 0 18:29 ? 00:00:00 nginx: worker process
nginx 119121 119118 0 18:29 ? 00:00:00 nginx: worker process
nginx 119122 119118 0 18:29 ? 00:00:00 nginx: worker process
圖解:首先用戶通過http/https協(xié)議訪問nginx的主機(jī),這時(shí)nginx會(huì)啟動(dòng)一個(gè)master進(jìn)程,這個(gè)進(jìn)程,不處理客戶端的請(qǐng)求,而是生成worker線程(這里是一個(gè)負(fù)載均衡集群),通過worker線程來處理客戶端的請(qǐng)求,若用戶請(qǐng)求網(wǎng)站服務(wù),worker就會(huì)到web server這個(gè)服務(wù)集群提取對(duì)應(yīng)的資源給客戶端,同理,這個(gè)Application server可以用來訪問應(yīng)用服務(wù)器,Memcached緩存服務(wù)器,backup是后端的意思。
web服務(wù)器請(qǐng)求資源的過程
1.客戶端發(fā)起請(qǐng)求,然后與服務(wù)端建立tcp連接
2.服務(wù)器接收請(qǐng)求
3.進(jìn)行反向代理,然后服務(wù)器處理請(qǐng)求
4.查看訪問資源的類型(可能是本地的資源,也可能是通過NFS掛載的資源)
5.構(gòu)建響應(yīng)報(bào)文
6.通過網(wǎng)絡(luò)接口返回響應(yīng)報(bào)文給客戶端
7.服務(wù)端將本次的操作記錄到日志中
圖解:首先客戶端要與服務(wù)端建立連接(沒有連接就無法從服務(wù)端獲取想要的資源)我們?cè)L問的時(shí)候都是通過域名去訪問服務(wù)端的,而域名是可以通過DNS將IP解析成域名去訪問的,所以實(shí)際上是訪問的服務(wù)器的IP。
接收客戶端請(qǐng)求報(bào)文中記錄了對(duì)某資源的一次請(qǐng)求的過程;服務(wù)器對(duì)請(qǐng)求報(bào)文進(jìn)行解析,并獲取請(qǐng)求的資源及請(qǐng)求方法等相關(guān)信息,根據(jù)方法,資源,首部和可選的主體部分對(duì)請(qǐng)求進(jìn)行處理;處理完成個(gè)之后就去對(duì)象存儲(chǔ)里去取相應(yīng)的資源,取到之后構(gòu)建一個(gè)響應(yīng)報(bào)文;然后將客戶請(qǐng)求的資源進(jìn)行封裝,并通過網(wǎng)絡(luò)接口發(fā)送響應(yīng)報(bào)文,客戶端收到對(duì)應(yīng)的資源之后,web服務(wù)器會(huì)在日志文件中添加一個(gè)條目,來描述已執(zhí)行的事務(wù)。
單進(jìn)程I/O模型:?jiǎn)?dòng)一個(gè)進(jìn)程處理用戶請(qǐng)求,而且一次只處理一個(gè),多個(gè)請(qǐng)求被串行響應(yīng);
多進(jìn)程I/O模型:并行啟動(dòng)多個(gè)進(jìn)程,每個(gè)進(jìn)程響應(yīng)一個(gè)連接請(qǐng)求;
復(fù)用I/O結(jié)構(gòu):?jiǎn)?dòng)一個(gè)進(jìn)程,同時(shí)響應(yīng)N個(gè)連接請(qǐng)求
復(fù)用的多進(jìn)程I/O模型:?jiǎn)?dòng)x個(gè)進(jìn)程,每個(gè)進(jìn)程響應(yīng)y個(gè)連接請(qǐng)求,同時(shí)接收x*y個(gè)請(qǐng)求。
nginx的配置
nginx的編譯分為兩種:
- 靜態(tài)編譯:靜態(tài)編譯就是編譯器在編譯可執(zhí)行文件的時(shí)候,將可執(zhí)行文件需要調(diào)用的對(duì)應(yīng)動(dòng)態(tài)鏈接庫(so)中的部分提取出來,鏈接到可執(zhí)行文件中去,使可執(zhí)行文件在運(yùn)行的時(shí)候不依賴于動(dòng)態(tài)鏈接庫,所以其優(yōu)缺點(diǎn)與動(dòng)態(tài)編譯的可執(zhí)行文件正好互補(bǔ)
- 動(dòng)態(tài)編譯:動(dòng)態(tài)編譯的可執(zhí)行文件需要附帶一個(gè)的動(dòng)態(tài)鏈接庫,在執(zhí)行時(shí),需要調(diào)用其對(duì)應(yīng)動(dòng)態(tài)鏈接庫中的命令。
所以其優(yōu)點(diǎn)一方面是縮小了執(zhí)行文件本身的體積,另一方面是加快了編譯速度,節(jié)省了系統(tǒng)資源。
缺點(diǎn)是:哪怕是很簡(jiǎn)單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個(gè)相對(duì)龐大的鏈接庫;二是如果其他計(jì)算機(jī)上沒有安裝對(duì)應(yīng)的運(yùn)行庫,則用動(dòng)態(tài)編譯的可執(zhí)行文件就不能運(yùn)行。
nginx的安裝與配置
下載nginx的源碼包
想要安裝不同的版本可以取官網(wǎng)下載:https://nginx.org/en/download.html
[root@localhost ~]# wget http://nginx.org/download/nginx-1.20.1.tar.gz
解決nginx的依賴
[root@localhost ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ zlib make
解壓nginx的tar包
[root@localhost ~]# tar -xzf nginx-1.20.1.tar.gz -C /usr/local
創(chuàng)建系統(tǒng)用戶
[root@localhost ~]# useradd -r -M -s /sbin/nologin nginx
創(chuàng)建日志存放目錄
[root@localhost ~]# mkdir -p /var/log/nginx
[root@localhost ~]# chown -R nginx.nginx /var/log/nginx
編譯安裝nginx
[root@localhost nginx-1.20.1]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log
[root@localhost nginx-1.20.1]# make && make install
配置nginx環(huán)境變量
[root@localhost ~]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@localhost ~]# source /etc/profile.d/nginx.sh
配置nginx的service文件使用systemctl控制nginx
[root@localhost system]# pwd
/usr/lib/systemd/system
[root@localhost system]# cat > nginx.service << EOF
[Unit]
Description=Nginx server daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s quit
ExecReload=/bin/kill -HUP \$MAINPID
設(shè)置開機(jī)自啟
[root@localhost system]# systemctl enable --now nginx
nginx主目錄下各個(gè)目錄的作用
/usr/local/nginx/ #為服務(wù)安裝目錄,若你安裝在/opt目錄下則是/opt/nginx,根據(jù)你安裝的不同目錄也不同
/usr/local/nginx/sbin #為服務(wù)主程序目錄
/usr/local/nginx/sbin/nginx #為服務(wù)程序文件
/usr/local/nginx/modules/ #為模塊目錄
/usr/local/nginx/conf/ #為服務(wù)的配置文件目錄
/usr/local/nginx/html/ # 為服務(wù)網(wǎng)頁根目錄
/usr/local/nginx/conf/nginx.conf #為服務(wù)配置文件
/usr/local/nginx/logs/ #為服務(wù)日志文件目錄
/usr/local/nginx/logs/nginx.pid #服務(wù)pid文件
/usr/local/nginx/logs/error.log #服務(wù)錯(cuò)誤日志文件
/usr/local/nginx/logs/access.log #服務(wù)訪問日志文件
nginx服務(wù)命令
/usr/local/nginx/sbin/nginx 啟動(dòng)nginx
/usr/local/nginx/sbin/nginx -v #查看nginx版本
/usr/local/nginx/sbin/nginx -V #顯示除版本信息意外的其他配置參數(shù)信息
/usr/local/nginx/sbin/nginx -t #檢查nginx配置文件是否正確
/usr/local/nginx/sbin/nginx -s reload #重新加載nginx
/usr/local/nginx/sbin/nginx -s quit #正常關(guān)閉nginx,建議使用這種方式關(guān)閉nginx,這個(gè)是優(yōu)雅的關(guān)閉nginx
/usr/local/nginx/sbin/nginx -s stop #快速關(guān)閉nginx
/usr/local/nginx/sbin/nginx -c //用來指定配置文件的路徑
nginx的配置文件詳解
主配置文件默認(rèn)位置:/usr/local/nginx/conf/nginx.conf //在不指定安裝路徑的情況下
- 默認(rèn)啟動(dòng)nginx時(shí),使用的配置文件是:安裝路徑/conf/nginx.conf文件
- 可以在啟動(dòng)nginx時(shí)通過-c選項(xiàng)來指定要讀取的配置文件
nginx常見的配置文件及其作用
配置文件 | 作用 |
---|---|
nginx.conf | nginx的基本配置文件 |
mime.types | MIME類型關(guān)聯(lián)的擴(kuò)展文件 |
fastcgi.conf | 與fastcgi相關(guān)的配置 |
proxy.conf | 與proxy相關(guān)的配置 |
sites.conf | 配置nginx提供的網(wǎng)站,包括虛擬主機(jī) |
nginx.conf配置詳解
nginx.conf的內(nèi)容分為以下幾段:
- main配置段:全局配置段。其中main配置段中可能包含event配置段
- event {}:定義event模型工作特性
- http {}:定義http協(xié)議相關(guān)的配置
配置指令的語法格式
derective value1 [value2 ...];
支持使用變量:
- 內(nèi)置變量:模塊會(huì)提供內(nèi)建變量定義
- 自定義變量:set var_name value
檢查nginx配置文件的語法cuowu
[root@localhost conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
查看nginx的版本信息
[root@localhost conf]# nginx -v
nginx version: nginx/1.20.1
[root@localhost conf]# nginx -V //-V不僅能看到nginx的版本信息,還能看到編譯nginx時(shí)編譯了那些功能等信息
nginx version: nginx/1.20.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log
使用nginx服務(wù)控制命令重啟并指定配置文件路徑
[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# cp nginx.conf mime.types /opt/
[root@localhost conf]# cd /opt/
[root@localhost opt]# ls
mime.types nginx.conf nginx.sh packages
[root@localhost opt]# head -3 nginx.conf
#user nobody;
worker_processes 1;
[root@localhost opt]# nginx -s quit ; nginx -c /usr/local/nginx/conf/nginx.conf
[root@localhost opt]# head -3 /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 3;
[root@localhost opt]# ps -ef | grep nginx
root 42776 1 0 11:00 ? 00:00:00 nginx: master process nginx -c /usr/local/nginx/conf/nginx.conf
nginx 42777 42776 0 11:00 ? 00:00:00 nginx: worker process
nginx 42778 42776 0 11:00 ? 00:00:00 nginx: worker process
nginx 42779 42776 0 11:00 ? 00:00:00 nginx: worker process
root 43003 1358 0 11:00 pts/0 00:00:00 grep --color=auto nginx
[root@localhost opt]# nginx -s quit ; nginx -c /opt/nginx.conf
[root@localhost opt]# ps -ef | grep nginx
root 45058 1 0 11:02 ? 00:00:00 nginx: master process nginx -c /opt/nginx.conf
nginx 45059 45058 0 11:02 ? 00:00:00 nginx: worker process
root 45134 1358 0 11:02 pts/0 00:00:00 grep --color=auto nginx
用于調(diào)試,定位問題的配置參數(shù)
是否以守護(hù)進(jìn)程方式運(yùn)行Nginx
守護(hù)進(jìn)程(daemon)是脫離終端并且在后臺(tái)運(yùn)行的進(jìn)程。它脫離終端是為了避免進(jìn)程執(zhí)行過程中的信息在任何終端上顯示,這樣一來,進(jìn)程也不會(huì)被任何終端所產(chǎn)生的信息所打斷。Nginx毫無疑問是一個(gè)需要以守護(hù)進(jìn)程方式運(yùn)行的服務(wù),因此,默認(rèn)都是以這種方式運(yùn)行的。
不過Nginx還是提供了關(guān)閉守護(hù)進(jìn)程的模式,之所以提供這種模式,是為了方便跟蹤調(diào)試Nginx,畢竟用gdb調(diào)試進(jìn)程時(shí)最煩瑣的就是如何繼續(xù)跟進(jìn)fork出的子進(jìn)程了。
daemon {on|off}; //是否以守護(hù)進(jìn)程方式運(yùn)行nginx,調(diào)試時(shí)應(yīng)設(shè)置為off
master_process {on|off}; //是否以master/worker模型來運(yùn)行nginx,調(diào)試時(shí)可以設(shè)置為off
error_log 位置 級(jí)別; //配置錯(cuò)誤日志
用法:
Syntax: daemon on | off; //語法
Default: daemon on; //默認(rèn)值
Context: main //可以配置在那個(gè)字段中
[root@localhost conf]# head -4 nginx.conf
#user nobody;
worker_processes 3;
daemon off
[root@localhost conf]# systemctl restart nginx.service
// 此時(shí)nginx將不會(huì)以守護(hù)進(jìn)程的方式運(yùn)行,會(huì)一直占據(jù)著前臺(tái)屏幕
master_process {on|off}; //是否以master/worker模型來運(yùn)行nginx,調(diào)試時(shí)可以設(shè)置為off
//用法
Syntax: master_process on | off;
Default: master_process on;
Context: main
// nginx默認(rèn)是以master/worker模型來運(yùn)行
[root@localhost opt]# head -4 nginx.conf
#user nobody;
worker_processes 1;
master_process off;
//重新讀取nginx配置文件
[root@localhost opt]# systemctl stop nginx.service ; nginx -c /opt/nginx.conf
[root@localhost opt]# ps -ef | grep nginx
root 13256 1 0 11:47 ? 00:00:00 nginx -c /opt/nginx.conf
root 13466 1358 0 11:47 pts/0 00:00:00 grep --color=auto nginx
error_log 位置 級(jí)別; //配置錯(cuò)誤日志
//用法,在不同的字段有不同的含義,比如在main字段寫就會(huì)對(duì)整個(gè)nginx產(chǎn)生影響,在http字段寫就會(huì)對(duì)某個(gè)網(wǎng)站產(chǎn)生影響
Syntax: error_log file [level];
Default: error_log logs/error.log error;
Context: main, http, mail, stream, server, location
[root@localhost opt]# head -4 nginx.conf
#user nobody;
worker_processes 1;
error_log logs/error.log;
重啟nginx服務(wù)讓配置文件生效
[root@localhost opt]# systemctl stop nginx; nginx -c /opt/nginx.conf
[root@localhost opt]# ls /usr/local/nginx/logs/
error.log nginx.pid
[root@localhost opt]# ls /usr/local/nginx/logs/
error.log nginx.pid
[root@localhost opt]# curl http://192.168.182.131/sx.txt
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>
[root@localhost opt]# cat /var/log/nginx/error.log
2021/10/25 17:18:19 [error] 10117#0: *1 open() "/usr/local/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.182.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.182.131", referrer: "http://192.168.182.131/"
2021/10/25 18:29:13 [notice] 119113#0: signal process started
2021/10/25 18:33:46 [notice] 124307#0: signal process started
2021/10/25 19:29:31 [notice] 56895#0: signal process started
2021/10/26 10:53:47 [notice] 35176#0: signal process started
2021/10/26 10:53:47 [notice] 35188#0: signal process started
2021/10/26 10:57:44 [notice] 39890#0: signal process started
2021/10/26 10:57:44 [notice] 39893#0: signal process started
error_log里的位置和級(jí)別能有以下可選項(xiàng):
位置 | 級(jí)別
file | 記錄到某個(gè)文件中
stdree | 記錄到標(biāo)準(zhǔn)錯(cuò)誤中(不推薦)
syslog:server=address[,parameter=value] | 記錄到某臺(tái)日志服務(wù)器中
memory:size | 記錄到內(nèi)存中(不推薦)
日志級(jí)別 | 含義 |
---|---|
debug | 若要使用debug級(jí)別,需要在編譯nginx時(shí)使用–with-debug選項(xiàng) |
info | 一般信息 |
notice | 不影響正常功能,需要注意的消息 |
warn | 可能影響系統(tǒng)功能,需要提醒用戶的重要事件 |
error | 錯(cuò)誤信息(常用的) |
cuit | 緊急,比較嚴(yán)重的 |
alert | 必須馬上處理的 |
emerg | 會(huì)導(dǎo)致系統(tǒng)不可用的 |
正常運(yùn)行必備的配置參數(shù)
user USERNAME [GROUPNAME]; //指定運(yùn)行worker進(jìn)程的用戶和組
pid /path/to/pid_file; //指定nginx守護(hù)進(jìn)程的pid文件
worker_rlimit_nofile number; //設(shè)置所有worker進(jìn)程最大可以打開的文件數(shù),默認(rèn)為1024
worker_rlimit_core size; //指明所有worker進(jìn)程所能夠使用的總體的最大核心文件大小,保持默認(rèn)即可