Nginx的基本配置項有哪些

nginx的基本配置項有:1、用于調試、定位問題的配置項;2、正常運行的必備配置項;3、優化性能的配置項;4、事件類配置項。

Nginx的基本配置項有哪些

Nginx的基本配置項有:

由于配置項較多,所以把它們按照用戶使用時的預期功能分成以下4類:

1、用于調試、定位問題的配置項;

2、正常運行的必備配置項;

3、優化性能的配置項;

4、事件類配置項(有些事件類配置項歸納到優化性能類,這是因為它們雖然也屬于Event{}塊,但作用是優化性能)

相關學習推薦:nginx快速入門教程

有一些配置項,幾十沒有顯式的進行配置,他們會有默認的值,如:daemon,即是在nginx.conf中沒有對它進行配置,也相當于打開了這個功能,這點需要注意。

##代碼塊中的events、http、server、location、upstream等都是塊配置項## ##塊配置項可以嵌套。內層塊直接繼承外層快,例如:server塊里的任意配置都是基于http塊里的已有配置的## ? ##Nginx?worker進程運行的用戶及用戶組? #語法:user?username[groupname]????默認:user?nobody?nobody #user用于設置master進程啟動后,fork出的worker進程運行在那個用戶和用戶組下。當按照"user?username;"設置時,用戶組名與用戶名相同。 #若用戶在configure命令執行時,使用了參數--user=usergroup?和?--group=groupname,此時nginx.conf將使用參數中指定的用戶和用戶組。 #user??nobody; ? ##Nginx?worker進程個數:其數量直接影響性能。 #每個worker進程都是單線程的進程,他們會調用各個模塊以實現多種多樣的功能。如果這些模塊不會出現阻塞式的調用,那么,有多少CPU內核就應該配置多少個進程,反之,有可能出現阻塞式調用,那么,需要配置稍多一些的worker進程。 worker_processes??1; ? ##ssl硬件加速。 #用戶可以用OpneSSL提供的命令來查看是否有ssl硬件加速設備:openssl?engine?-t #ssl_engine?device; ? ##守護進程(daemon)。是脫離終端在后臺允許的進程。它脫離終端是為了避免進程執行過程中的信息在任何終端上顯示。這樣一來,進程也不會被任何終端所產生的信息所打斷。## ##關閉守護進程的模式,之所以提供這種模式,是為了放便跟蹤調試nginx,畢竟用gdb調試進程時最繁瑣的就是如何繼續跟進fork出的子進程了。## ##如果用off關閉了master_proccess方式,就不會fork出worker子進程來處理請求,而是用master進程自身來處理請求 #daemon?off;???#查看是否以守護進程的方式運行Nginx?默認是on? #master_process?off;?#是否以master/worker方式工作?默認是on ? ##error日志的設置# #語法:?error_log?/path/file?level; #默認:?error_log?/?log/error.log?error; #當path/file?的值為?/dev/null時,這樣就不會輸出任何日志了,這也是關閉error日志的唯一手段; #leve的取值范圍是debug、info、notice、warn、error、crit、alert、emerg從左至右級別依次增大。 #當level的級別為error時,error、crit、alert、emerg級別的日志就都會輸出。大于等于該級別會輸出,小于該級別的不會輸出。 #如果設定的日志級別是debug,則會輸出所有的日志,這一數據量會很大,需要預先確保/path/file所在的磁盤有足夠的磁盤空間。級別設定到debug,必須在configure時加入?--with-debug配置項。 #error_log??logs/error.log; #error_log??logs/error.log??notice; #error_log??logs/error.log??info; ? ##pid文件(master進程ID的pid文件存放路徑)的路徑 #pid????????logs/nginx.pid; ? ? events?{ ?#僅對指定的客戶端輸出debug級別的日志:?語法:debug_connection[IP|CIDR] ?#這個設置項實際上屬于事件類配置,因此必須放在events{……}中才會生效。它的值可以是IP地址或者是CIRD地址。 ?#debug_connection?10.224.66.14;??#或是debug_connection?10.224.57.0/24 ?#這樣,僅僅以上IP地址的請求才會輸出debug級別的日志,其他請求仍然沿用error_log中配置的日志級別。 ?#注意:在使用debug_connection前,需確保在執行configure時已經加入了--with-debug參數,否則不會生效。 worker_connections??1024; } ? ##核心轉儲(coredump):在Linux系統中,當進程發生錯誤或收到信號而終止時,系統會將進程執行時的內存內容(核心映像)寫入一個文件(core文件),以作為調試只用,這就是所謂的核心轉儲(coredump). ? http?{ ##嵌入其他配置文件?語法:include?/path/file #參數既可以是絕對路徑也可以是相對路徑(相對于Nginx的配置目錄,即nginx.conf所在的目錄) ????include???????mime.types; ????default_type??application/octet-stream; ? ????#log_format??main??'$remote_addr?-?$remote_user?[$time_local]?"$request"?' ????#??????????????????'$status?$body_bytes_sent?"$http_referer"?' ????#??????????????????'"$http_user_agent"?"$http_x_forwarded_for"'; ? ????#access_log??logs/access.log??main; ? ????sendfile????????on; ????#tcp_nopush?????on; ? ????#keepalive_timeout??0; ????keepalive_timeout??65; ? ????#gzip??on; ? ????server?{ ##listen監聽的端口 #語法:listen?address:port?[?default(deprecated?in?0.8.21)?|?default_server?|?[?backlog=num?|?rcvbuf=size?|?sndbuf=size?|?accept_filter=filter?|?deferred?|?bind?|?ssl?]?] #default_server:?如果沒有設置這個參數,那么將會以在nginx.conf中找到的第一個server塊作為默認server塊 listen???????8080; ? #主機名稱:其后可以跟多個主機名稱,開始處理一個HTTP請求時,nginx會取出header頭中的Host,與每個server中的server_name進行匹配,以此決定到底由那一個server來處理這個請求。有可能一個Host與多個server塊中的server_name都匹配,這時會根據匹配優先級來選擇實際處理的server塊。server_name與Host的匹配優先級見文末。 server_name??localhost; ? ????????#charset?koi8-r; ? ????????#access_log??logs/host.access.log??main; ? ????????#location?/?{ ????????#????root???html; ????????#????index??index.html?index.htm; ????????#} ? ##location?語法:?location?[=|~|~*|^~]?/uri/?{?...?} #?location的使用實例見文末。 #注意:location時有順序的,當一個請求有可能匹配多個location時,實際上這個請求會被第一個location處理。 location?/?{ proxy_pass?http://192.168.1.60; ????????} ? ????????#error_page??404??????????????/404.html; ? ????????#?redirect?server?error?pages?to?the?static?page?/50x.html ????????# ????????error_page???500?502?503?504??/50x.html; ????????location?=?/50x.html?{ ????????????root???html; ????????} ? ????????#?proxy?the?PHP?scripts?to?Apache?listening?on?127.0.0.1:80 ????????# ????????#location?~?.php$?{ ????????#????proxy_pass???http://127.0.0.1; ????????#} ? ????????#?pass?the?PHP?scripts?to?FastCGI?server?listening?on?127.0.0.1:9000 ????????# ????????#location?~?.php$?{ ????????#????root???????????html; ????????#????fastcgi_pass???127.0.0.1:9000; ????????#????fastcgi_index??index.php; ????????#????fastcgi_param??SCRIPT_FILENAME??/scripts$fastcgi_script_name; ????????#????include????????fastcgi_params; ????????#} ? ????????#?deny?access?to?.htaccess?files,?if?Apache's?document?root ????????#?concurs?with?nginx's?one ????????# ????????#location?~?/.ht?{ ????????#????deny??all; ????????#} ????} ? ? ? ????#?another?virtual?host?using?mix?of?IP-,?name-,?and?port-based?configuration ????# ????#server?{ ????#????listen???????8000; ????#????listen???????somename:8080; ????#????server_name??somename??alias??another.alias; ? ????#????location?/?{ ????#????????root???html; ????#????????index??index.html?index.htm; ????#????} ????#} ? ? ????#?HTTPS?server ????# ????#server?{ ????#????listen???????443?ssl; ????#????server_name??localhost; ? ????#????ssl_certificate??????cert.pem; ????#????ssl_certificate_key??cert.key; ? ????#????ssl_session_cache????shared:SSL:1m; ????#????ssl_session_timeout??5m; ? ????#????ssl_ciphers??HIGH:!aNULL:!MD5; ????#????ssl_prefer_server_ciphers??on; ? ????#????location?/?{ ????#????????root???html; ????#????????index??index.html?index.htm; ????#????} ????#} ? }

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享