版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Nginx詳解,——介紹、模塊、運(yùn)維,薛長(zhǎng)俊 2013.8,目 錄,目 錄,基本HTTP特性,處理靜態(tài)文件,索引文件以及自動(dòng)索引;打開文件描述符緩存; 使用緩存加速反向代理;簡(jiǎn)單負(fù)載均衡以及容錯(cuò); 遠(yuǎn)程FastCGI,uwsgi,SCGI,和memcached服務(wù)的緩存加速支持; 模塊化的架構(gòu)。過濾器包括gzip壓縮、ranges支持、chunked響應(yīng)、XSLT,SSI以及圖像縮放。在SSI 過濾器中,一
2、個(gè)包含多個(gè)SSI的頁面,如果經(jīng)由FastCGI或反向代理處理,可被并行處理; 支持SSL,TLS SNI。,其他HTTP特性,基于名字和IP的虛擬主機(jī); Keep-alive和pipelined連接支持; 靈活的配置; 重新加載配置以及在線升級(jí)時(shí),不需要中斷正在處理的請(qǐng)求; 自定義訪問日志格式,帶緩存的日志寫操作以及快速日志輪轉(zhuǎn); 3xx-5xx錯(cuò)誤代碼重定向; 重寫(rewrite)模塊:使用正則表達(dá)式改變URI; 根
3、據(jù)客戶端地址執(zhí)行不同的功能; 基于客戶端IP地址和HTTP基本認(rèn)證機(jī)制的訪問控制; 支持驗(yàn)證HTTP referer; 支持PUT、DELETE、MKCOL、COPY以及MOVE方法; 支持FLV流和MP4流; 速度限制; 來自同一地址的同時(shí)連接數(shù)或請(qǐng)求數(shù)限制; 嵌入Perl語言。,郵件代理服務(wù)器特性,使用外部HTTP認(rèn)證服務(wù)器重定向用戶到IMAP/POP3后端;使用外部HTTP認(rèn)證服務(wù)器認(rèn)證用戶后重定向連接到內(nèi)部SMT
4、P后端;支持的認(rèn)證方式:POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;SSL支持;STARTTLS和STLS支持。,架構(gòu)和可擴(kuò)展性,一個(gè)主進(jìn)程和多個(gè)工作進(jìn)程,工作進(jìn)程以非特權(quán)用戶運(yùn)行; 支持的事件機(jī)制:kqueue(FreeBSD
5、4.1+)、epoll(Linux 2.6+)、rt signals(Linux 2.2.19+)、/dev/poll(Solaris 7 11/99+)、event ports(Solaris 10)、select以及poll; 眾多支持的kqueue特性包括EV_CLEAR、EV_DISABLE(臨時(shí)禁止事件)、NOTE_LOWAT、EV_EOF,可用數(shù)據(jù)的數(shù)量,錯(cuò)誤代碼; 支持sendfile(FreeBSD 3.1+, Li
6、nux 2.2+, Mac OS X 10.5+)、sendfile64(Linux 2.4.21+)和sendfilev(Solaris 8 7/01+); 文件AIO(FreeBSD 4.3+, Linux 2.6.22+); DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, Mac OS X); 支持Accept-filters(FreeBSD 4.1+, NetBSD 5.
7、0+)和 TCP_DEFER_ACCEPT(Linux 2.4+); 10000個(gè)非活躍的HTTP keep-alive連接僅占用約2.5M內(nèi)存; 盡可能避免數(shù)據(jù)拷貝操作。,測(cè)試過的系統(tǒng)和平臺(tái),FreeBSD 3 — 10 / i386; FreeBSD 5 — 10 / amd64;Linux 2.2 — 3 / i386; Linux 2.6 — 3 / amd64;Solaris 9 / i386, sun4u;
8、Solaris 10 / i386, amd64, sun4v;AIX 7.1 / powerpc;HP-UX 11.31 / ia64;MacOS X / ppc, i386;Windows XP, Windows Server 2003.,目 錄,內(nèi)核模塊,配置示例user nobody;worker_processes 4;#error_log /opt/nginx_logs/error.log;#
9、error_log /opt/nginx_logs/error.log notice;#error_log /opt/nginx_logs/error.log info;pid logs/nginx.pid;worker_rlimit_nofile 65535;,內(nèi)核模塊,設(shè)置工作的進(jìn)程數(shù)(可設(shè)置為可用cpu的數(shù)量)。 語法:worker_processes number默認(rèn)值:1上下文:main指
10、定錯(cuò)誤日志的文件和錯(cuò)誤級(jí)別。 語法:error_log file [ debug | info | notice | warn | error | crit ]默認(rèn)值:${prefix}/logs/error.log上下文:http,server,location定義一個(gè)worker進(jìn)程可以同時(shí)處理的文件數(shù)量。 語法:worker_rlimit_nofile limit默認(rèn)值:OS默認(rèn)上下文:m
11、ain,事件模塊,配置示例。events { use epoll; worker_connections 65535;}指定事件響應(yīng)模式。語法:use type默認(rèn)值:在編譯時(shí)指定上下文:events設(shè)置每個(gè)worker進(jìn)程所能處理的連接數(shù)。語法:worker_connections number默認(rèn)值:1024上下文:events,HTTP內(nèi)核模塊,配置范例http
12、 {includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout65;gzipoff;upstream backup {server127.0.0.1:8010;server127.0.0.1:8011;keepalive10;},HTTP內(nèi)核模塊,server {
13、listen192.168.1.1:80;server_nameexample.comwww.example.com;if ($http_user_agent ~ MSIE) {rewrite ^(.*)$ /msie/$1 break;}location / {[configurationA]},HTTP內(nèi)核模塊,location ^~ /images/ {if ($
14、request_method = POST) {proxy_pass http://backup;}[configurationB]}location ~ /purge(/.*) {allow127.0.0.1;denyall;}}},HTTP內(nèi)核模塊,為HTTP服務(wù)器提供配置上下文。 語法:http { ... }默認(rèn)值: —上下文:main
15、開始設(shè)置虛擬主機(jī)。 語法:server { ... }默認(rèn)值: —上下文:http為某個(gè)請(qǐng)求URI(路徑)建立配置。語法:location [ = | ~ | ~* | ^~ ] uri { ... }location @name { ... }默認(rèn)值: —上下文:server, location,HTTP內(nèi)核模塊,計(jì)算指定的condition的值。語法:if (condition)
16、{ ... }默認(rèn)值:—上下文:server, location 停止處理當(dāng)前這一輪的rewrite指令集。語法:break;默認(rèn)值:—上下文:server, location, if停止處理并返回指定code給客戶端。語法:return code [text]; return code URL; return URL;默認(rèn)值: —上下文:server, location, if,HT
17、TP內(nèi)核模塊,匹配條件變量名;如果變量值為空或者是以“0”開始的字符串,則條件為假;使用“=”和“!=”運(yùn)算符比較變量和字符串;使用“~”(大小寫敏感)和“~*”(大小寫不敏感)運(yùn)算符匹配變量和正則表達(dá)式。正則表達(dá)式可以包含匹配組,匹配結(jié)果后續(xù)可以使用變量$1..$9引用。如果正則表達(dá)式中包含字符“}”或者“;”,整個(gè)表達(dá)式應(yīng)該被包含在單引號(hào)或雙引號(hào)的引用中。使用“-f”和“!-f”運(yùn)算符檢查文件是否存在;使用“-d”和“!
18、-d”運(yùn)算符檢查目錄是否存在;使用“-e”和“!-e”運(yùn)算符檢查文件、目錄或符號(hào)鏈接是否存在;使用“-x”和“!-x”運(yùn)算符檢查可執(zhí)行文件; 正則正則匹配.xlsx,HTTP內(nèi)核模塊,定義將要被作為默認(rèn)頁的文件。語法:index file ...;默認(rèn)值: index index.html; 上下文: http, server, location為請(qǐng)求設(shè)置根目錄 。語法: root path;默
19、認(rèn)值: root html; 上下文: http, server, location, if in location 定義指定路徑的替換路徑。語法: alias path;默認(rèn)值: — 上下文: location,HTTP內(nèi)核模塊,設(shè)置虛擬主機(jī)名。語法:server_name name ...;默認(rèn)值:server_name "";上下文:ser
20、ver設(shè)置客戶端的長(zhǎng)連接在服務(wù)器端保持的最長(zhǎng)時(shí)間。語法:keepalive_timeout timeout [header_timeout];默認(rèn)值:keepalive_timeout 75s;上下文:http, server, location 為指令錯(cuò)誤定義顯示的URI 。語法:error_page code ... [=[response]] uri;默認(rèn)
21、值: —上下文:http, server, location, if in location,HTTP內(nèi)核模塊,內(nèi)嵌變量$arg_name,請(qǐng)求行中的name參數(shù)。$args,請(qǐng)求行中參數(shù)字符串。$binary_remote_addr,客戶端IP地址的二進(jìn)制形式,長(zhǎng)度總是4字節(jié)。$body_bytes_sent,nginx返回給客戶端的字節(jié)數(shù),不含響應(yīng)頭。$bytes_sent,nginx返回給客戶端的字節(jié)數(shù)(1.3.
22、8, 1.2.5)。$connection,連接的序列號(hào)(1.3.8, 1.2.5)。$content_length,“Content-Length”請(qǐng)求頭的值。$content_type,“Content-Type”請(qǐng)求頭的值。$cookie_name,名為name的cookie。$document_root,當(dāng)前請(qǐng)求的root指令或alias指令的配置值。$document_uri,與$uri相同。$host,“Hos
23、t”請(qǐng)求頭的值,如果沒有該請(qǐng)求頭,則為與請(qǐng)求對(duì)應(yīng)的虛擬主機(jī)的首要主機(jī)名。,HTTP內(nèi)核模塊,$hostname,機(jī)器名稱。$http_name,任意請(qǐng)求頭的值;變量名的后半部為轉(zhuǎn)化為小寫并且用下劃線替代橫線后的請(qǐng)求頭名稱。$https,如果連接是SSL模塊,返回“on”,否則返回空字符串。$is_args,如果請(qǐng)求行帶有參數(shù),返回“?”,否則返回空字符串。$limit_rate,允許設(shè)置此值來限制連接的傳輸速率。$msec,當(dāng)
24、前時(shí)間,單位是秒,精度是毫秒。(1.3.9, 1.2.6)$nginx_version,nginx版本號(hào)。$pid,worker進(jìn)程的PID。$query_string,與$args相同。$realpath_root,按root指令或alias指令算出的當(dāng)前請(qǐng)求的絕對(duì)路徑。其中的符號(hào)鏈接都會(huì)解析成真是文件路徑。$remote_addr,客戶端IP地址。$remote_port,客戶端端口。$remote_user,為基本用
25、戶認(rèn)證提供的用戶名。,HTTP內(nèi)核模塊,$request,完整的原始請(qǐng)求行。$request_body,請(qǐng)求正文。在由proxy_pass指令和 fastcgi_pass指令處理的路徑中, 這個(gè)變量值可用。$request_body_file,請(qǐng)求正文的臨時(shí)文件名。處理完成時(shí),臨時(shí)文件將被刪除。 如果希望總是將請(qǐng)求正文寫入文件,需要開啟client_body_in_file_only。 如果在被代理的請(qǐng)求或FastCGI請(qǐng)求中傳遞臨
26、時(shí)文件名,就應(yīng)該禁止傳遞請(qǐng)求正文本身。 使用proxy_pass_request_body off指令 和fastcgi_pass_request_body off指令 分別禁止在代理和FastCGI中傳遞請(qǐng)求正文。$request_completion,請(qǐng)求完成時(shí)返回“OK”,否則返回空字符串。$request_filename,基于root指令或alias指令,以及請(qǐng)求URI,得到的當(dāng)前請(qǐng)求的文件路徑。$request_met
27、hod,HTTP方法,通常為“GET”或者“POST”。$request_time,請(qǐng)求處理的時(shí)間,單位為秒,精度是毫秒(1.3.9, 1.2.6);請(qǐng)求處理時(shí)間從由客戶端接收到第一個(gè)字節(jié)開始計(jì)算。$request_uri,完整的原始請(qǐng)求行(帶參數(shù))。,HTTP內(nèi)核模塊,$scheme,請(qǐng)求協(xié)議類型,為“http”或“https”。$sent_http_name,任意的響應(yīng)頭字段的值。 變量名的后半部為轉(zhuǎn)化為小寫并且用下劃線替代橫
28、線后的響應(yīng)頭名稱。$server_addr,接受請(qǐng)求的服務(wù)器地址。為計(jì)算這個(gè)值,通常需要進(jìn)行一次系統(tǒng)調(diào)用。為了避免系統(tǒng)調(diào)用,必須指定listen指令 的地址,并且使用bind參數(shù)。$server_name,接受請(qǐng)求的虛擬主機(jī)的首要主機(jī)名。$server_port,接受請(qǐng)求的虛擬主機(jī)的端口。$server_protocol,請(qǐng)求協(xié)議,通常為“HTTP/1.0”或“HTTP/1.1”。$status,響應(yīng)狀態(tài)碼。$tcpinfo
29、_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space,客戶端TCP連接的信息,在支持套接字選項(xiàng)TCP_INFO的系統(tǒng)中可用。$uri,當(dāng)前請(qǐng)求規(guī)范化以后的URI。變量$uri的值可能隨請(qǐng)求的處理過程而改變。 比如,當(dāng)進(jìn)行內(nèi)部跳轉(zhuǎn)時(shí),或者使用默認(rèn)頁文件。,Log模塊,配置實(shí)例log_format main '$remote_addr - $remote_us
30、er [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"';access_log /spool/logs/
31、nginx-access.log main buffer=32k;為訪問日志設(shè)置路徑,格式和緩沖區(qū)大小。語法: access_log path [format [buffer=size]]; access_log off;默認(rèn)值: access_log logs/access.log combined; 上下文: http, server, location, if in location, limit_excep
32、t 指定日志的格式。語法: log_format name string ...;默認(rèn)值: log_format combined "..."; 上下文: http,Proxy模塊,配置范例proxy_temp_path /date/nginx/proxy_temp 1 2;proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=ng
33、_cache:400m inactive=1d max_size=60g;location / {proxy_set_headerHost$host;proxy_set_headerConnection“”;proxy_http_version1.1;proxy_cache_valid302 5m;proxy_cache_valid200 20d; proxy_cache
34、_key"$scheme$host$request_uri";proxy_cacheng_cache;proxy_passhttp://localhost:8000;},重新定義或者添加發(fā)往后端服務(wù)器的請(qǐng)求頭。語法: proxy_set_header field value;默認(rèn)值: proxy_set_header Host $proxy_host;proxy_set_header
35、Connection close; 上下文: http, server, location設(shè)置代理使用的HTTP協(xié)議版本。語法: proxy_http_version 1.0 | 1.1;默認(rèn)值: proxy_http_version 1.0; 上下文: http, server, location設(shè)置后端服務(wù)器的協(xié)議和地址。語法: proxy_pass URL;默認(rèn)值: — 上下文:
36、location, if in location, limit_except,Proxy模塊,設(shè)置緩存的路徑和其他參數(shù)。語法:proxy_cache_path path [levels=levels] keys_zone=name:size [inactive=time] [max_size=size] [loader_files=number] [loader_sleep=time] [loader_thresho
37、ld=time];默認(rèn)值: — 上下文: http指定用于頁面緩存的共享內(nèi)存。語法: proxy_cache zone | off;默認(rèn)值: proxy_cache off; 上下文: http, server, location,Proxy模塊,為不同的響應(yīng)狀態(tài)碼設(shè)置不同的緩存時(shí)間。語法:proxy_cache_valid [code ...] time;默認(rèn)值:—上下文:http,
38、server, location定義如何生成緩存的鍵。語法:proxy_cache_key string;默認(rèn)值:proxy_cache_key $scheme$proxy_host$request_uri;上下文:http, server, location設(shè)置響應(yīng)被緩存的最小請(qǐng)求次數(shù)。語法:proxy_cache_min_uses number;默認(rèn)值:proxy_cache_min_uses 1
39、;上下文:http, server, location,Proxy模塊,Rewrite模塊,配置范例//多目錄轉(zhuǎn)成參數(shù)if ($host ~* (.*)/.domain/.com) { set $sub_name $1; rewrite ^/sort//(/d+)//?$ /index.php?act=sort&cid=$sub_name&id=$1 last; }//目錄對(duì)換rewrit
40、e ^/(/d+)/(.+)/ /$2?id=$1 last; //在用戶使用ie的使用重定向到/nginx-ie目錄下。if ($http_user_agent ~ MSIE) { rewrite ^(.*)$ /nginx-ie/$1 break; },Rewrite模塊,如果指定的正則表達(dá)式能匹配URI,此URI將被replacement參數(shù)定義的字符串改寫。rewrite指令按其在配置文件中出現(xiàn)的順序執(zhí)行。語法:
41、rewrite regex replacement [flag];默認(rèn)值: —上下文:server, location, if可選的flag參數(shù)可以是其中之一:last:停止執(zhí)行當(dāng)前這一輪的ngx_http_rewrite_module指令集,然后查找匹配改變后URI的新location;break:停止執(zhí)行當(dāng)前這一輪的ngx_http_rewrite_module指令集;redirect:在replacemen
42、t字符串未以“http://”或“https://”開頭時(shí),使用返回狀態(tài)碼為302的臨時(shí)重定向;permanent:返回狀態(tài)碼為301的永久重定向。,Map模塊,配置范例map $uri $new {defaulthttp://www.domain.com/home/;/aahttp://aa.domain.com/;/bbhttp://bb.domain.com/;^/cc/(?P.*)$
43、http://cc.domain.com/$suffix;/johnhttp://my.domain.com/users/john/;}map $uri $myvalue {/aa/mapped_aa;~^/aa/(?.*)$/mapped_bb/$suffix;},Map模塊,變量設(shè)置的映射表。映射表由兩列組成,匹配模式和對(duì)應(yīng)的值。語法:map string $variable { ...
44、}默認(rèn)值: —上下文:http這個(gè)指令也支持三個(gè)特殊參數(shù)。default value:如果源變量值沒有匹配到任何變量,則設(shè)置一個(gè)默認(rèn)值作為結(jié)果。 當(dāng)沒有設(shè)置 default,將會(huì)用一個(gè)空的字符串作為默認(rèn)的結(jié)果。hostnames:允許用前綴或者后綴掩碼指定域名作為源變量值。include file:包含一個(gè)或者多個(gè)存有映射值的文件。,Upstream模塊,配置范例upstream backend { ser
45、ver backend1.example.com weight=5; server 127.0.0.1:8080 max_fails=3 fail_timeout=30s; server unix:/tmp/backend3; server backup1.example.com:8080 backup; keepalive 16;}定義一組服務(wù)器語法:upstr
46、eam name { ... }默認(rèn)值: —上下文:http,Upstream模塊,定義服務(wù)器的地址address和其他參數(shù)parameters。語法:server address [parameters];默認(rèn)值:—上下文:upstream可定義參數(shù):weight=number。設(shè)定服務(wù)器的權(quán)重,默認(rèn)是1。max_fails=number。設(shè)定Nginx與服務(wù)器通信的嘗試失敗的次數(shù)。fail_timeo
47、ut=time。設(shè)定統(tǒng)計(jì)失敗嘗試次數(shù)的時(shí)間段,默認(rèn)是10秒。backup。標(biāo)記為備用服務(wù)器。down。標(biāo)記服務(wù)器永久不可用,可以跟ip_hash指令一起使用。激活對(duì)上游服務(wù)器的連接進(jìn)行緩存。語法:keepalive connections;默認(rèn)值: —上下文:upstream,Access模塊,配置范例location / {deny 192.168.1.1;allow 192.168.1.0/24
48、;allow 10.1.1.0/16;allow 2001:0db8::/32;deny all;},Access模塊,允許指定的網(wǎng)絡(luò)地址訪問語法:allow address | CIDR | all;默認(rèn)值: —上下文:http, server, location, limit_except拒絕指定的網(wǎng)絡(luò)地址訪問語法:deny address | CIDR | all;默認(rèn)值: —上下
49、文:http, server, location, limit_except,FastCGI模塊,配置范例upstream _fcgi {server127.0.0.1:9000 weight=8;server127.0.0.1:9001 weight=8;}location ~ .*.php?$ {#fastcgi_pass unix:/dev/shm/fcgi.sock;#fastcgi_pass 12
50、7.0.0.1:9000;fastcgi_pass _fcgi;include fastcgi.conf;fastcgi_buffer_size 128k;fastcgi_buffers 4 128k;fastcgi_connect_timeout 1800;},FastCGI模塊,指定FastCGI服務(wù)器監(jiān)聽端口與地址。語法:fastcgi_pass fastcgi-server 默認(rèn)值:none
51、上下文:http, server, location 指定一些傳遞到FastCGI服務(wù)器的參數(shù)。語法:fastcgi_param parameter value默認(rèn)值: —上下文:http, server, locationfastcgi.conf指定同F(xiàn)astCGI服務(wù)器的連接超時(shí)時(shí)間,這個(gè)值不能超過75秒。語法:fastcgi_connect_timeout time 默認(rèn)值:fastcgi
52、_connect_timeout 60 上下文:http, server, location,目 錄,Php-fpm配置,配置范例。[www];listen = /dev/shm/fcgi.socklisten = 9000user = nobodygroup = nobodypm = dynamicpm.max_children = 512pm.start_servers = 32pm.min_spar
53、e_servers = 8pm.max_spare_servers = 64pm.max_requests = 4096php-fpm.conf.in,系統(tǒng)優(yōu)化-nginx,worker數(shù)目設(shè)置worker_processes 可用cpu核數(shù);使用epolluse epoll;關(guān)閉訪問日志access_log off;其它配置優(yōu)化worker_connections 65535;//每個(gè)進(jìn)程允許的最多
54、連接數(shù)worker_rlimit_nofile 65535;//打開最多的文件描述符keepalive_timeout 75s;//keepalive 超時(shí)時(shí)間client_header_buffer_size 4k;//客戶端請(qǐng)求頭部的緩沖區(qū)大小,系統(tǒng)優(yōu)化-內(nèi)核參數(shù),優(yōu)化資源限制#ulimit -n1024#ulimit –u1024修改open files 和 max user processes:1,在
55、/etc/rc.local 中增加一行 ulimit -SHn 655352,在/etc/profile 中增加一行 ulimit -SHn 655353,在/etc/security/limits.conf 最后增加:* soft nofile 65535* hard nofile 65535* soft nproc 65535* hard nproc 65535,系統(tǒng)優(yōu)化-內(nèi)核參數(shù),優(yōu)化內(nèi)核參數(shù)net.ipv4.tc
56、p_max_tw_buckets = 6000 //timewait數(shù)量,默認(rèn)180000。net.ipv4.ip_local_port_range = 1024 65000 //允許系統(tǒng)打開的端口范圍。net.ipv4.tcp_tw_recycle = 1 //啟用timewait 快速回收。net.ipv4.tcp_tw_reuse = 1 //允許TIME-WAIT sockets重用于新TCP 連接。net.ipv4.t
57、cp_syncookies = 1 //出現(xiàn)SYN 等待隊(duì)列溢出時(shí)啟用cookies處理。net.core.somaxconn = 262144 //web 應(yīng)用中l(wèi)isten 函數(shù)的backlog 默認(rèn)會(huì)給我們內(nèi)核參數(shù)的net.core.somaxconn 限制到128,而nginx 定義的NGX_LISTEN_BACKLOG 默認(rèn)為511,所以有必要調(diào)整這個(gè)值。net.core.netdev_max_backlog = 2621
58、44 //每個(gè)網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí),允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目。net.ipv4.tcp_max_orphans = 262144 //系統(tǒng)中最多有多少個(gè)TCP 套接字不被關(guān)聯(lián)到任何一個(gè)用戶文件句柄上。如果超過這個(gè)數(shù)字,孤兒連接將即刻被復(fù)位并打印出警告信息。這個(gè)限制僅僅是為了防止簡(jiǎn)單的DoS 攻擊,不能過分依靠它或者人為地減小這個(gè)值,更應(yīng)該增加這個(gè)值(如果增加了內(nèi)存之后)。,系統(tǒng)優(yōu)化-內(nèi)核參數(shù),net
59、.ipv4.tcp_max_syn_backlog = 262144 //記錄的那些尚未收到客戶端確認(rèn)信息的連接請(qǐng)求的最大值。net.ipv4.tcp_timestamps = 0 //時(shí)間戳可以避免序列號(hào)的卷繞。net.ipv4.tcp_synack_retries = 1 //為了打開對(duì)端的連接,內(nèi)核需要發(fā)送一個(gè)SYN 并附帶一個(gè)回應(yīng)前面一個(gè)SYN 的ACK。也就是所謂三次握手中的第二次握手。這個(gè)設(shè)置決定了內(nèi)核放棄連接之前發(fā)送
60、SYN+ACK 包的數(shù)量。net.ipv4.tcp_syn_retries = 1 //在內(nèi)核放棄建立連接之前發(fā)送SYN 包的數(shù)量。net.ipv4.tcp_fin_timeout = 1 //如果套接字由本端要求關(guān)閉,這個(gè)參數(shù)決定了它保持在FIN-WAIT-2 狀態(tài)的時(shí)間。對(duì)端可以出錯(cuò)并永遠(yuǎn)不關(guān)閉連接,甚至意外當(dāng)機(jī)。缺省值是60 秒。2.2 內(nèi)核的通常值是180 秒,3你可以按這個(gè)設(shè)置,但要記住的是,即使你的機(jī)器是一個(gè)輕載的WEB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- nginx優(yōu)化實(shí)戰(zhàn)
- 應(yīng)用—nginx 反向代理、負(fù)載均衡、頁面緩存、url重寫及讀寫分離詳解
- interconnecting containers at scale with nginx-
- 機(jī)械設(shè)計(jì)答案 - welcome to nginx!
- 機(jī)械設(shè)計(jì)試卷(答案) - welcome to nginx!
- 精神病學(xué)ⅱ - welcome to nginx!
- postgresql 82 的安裝要點(diǎn) - welcome to nginx!
- 四 川 大 學(xué) 教 案 - welcome to nginx!
- 四、細(xì)胞表面的粘連分子 - welcome to nginx!
- 電子商務(wù)基礎(chǔ)與應(yīng)用 - welcome to nginx!
- fastdfs 5.01 + nginx + cache 集群安裝配置手冊(cè)
- 基于NGINX的MDM平臺(tái)性能優(yōu)化設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Nginx的視頻轉(zhuǎn)碼資源動(dòng)態(tài)調(diào)度技術(shù)實(shí)現(xiàn).pdf
- 基于nginx的代理服務(wù)器搭建---畢業(yè)論文
- nginx安裝配置、resin安裝配置說明文檔
- 基于Nginx的云計(jì)算訪問控制網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Nginx和Memcached的高并發(fā)WEB服務(wù)器設(shè)計(jì).pdf
- 基于Nginx的高并發(fā)在線學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 輕量級(jí)Web服務(wù)器Nginx的理論與技術(shù)研究.pdf
- 基于Nginx的Web服務(wù)器負(fù)載均衡策略改進(jìn)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論