返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 技術(shù)分享 > SEO優(yōu)化>絕對具體Nginx基本配置性能優(yōu)化指南

大多數(shù)的Nginx安置指南告訴你如下基礎(chǔ)知識——通過apt-get安置,修改這里或那里的幾行配置,好了,你已經(jīng)有了一個Web辦事器了!并且,在大多數(shù)情況下,一個常規(guī)安置的nginx對你的網(wǎng)站來說已經(jīng)能很好地工作了。然而,假如你真的想擠壓出nginx的性能,你必需更深入一些。在本指南中,我將解釋Nginx的那些設(shè)置可以微調(diào),以優(yōu)化處理大量客戶端時的性能。需要注重一點,這不是一個全面的微調(diào)指南。這是一個簡單的預(yù)覽——那些可以通過微調(diào)來提高性能設(shè)置的概述。你的情況可能差別。

基本的(優(yōu)化過的)配置

我們將修改的優(yōu)選文件是nginx.conf,其中包羅Nginx差別模塊的所有設(shè)置。你應(yīng)該能夠在辦事器的/etc/nginx目錄中找到nginx.conf。首先,我們將談?wù)撘恍┤衷O(shè)置,然后按文件中的模塊挨個來,談一下哪些設(shè)置能夠讓你在大量客戶端拜候時擁有良好的性能,為什么它們會提高性能。本文的結(jié)尾有一個完整的配置文件。

高層的配置

nginx.conf文件中,Nginx中有少數(shù)的幾個高級配置在模塊部分之上。

userwww-data;

絕對具體Nginx基本配置性能優(yōu)化指南

pid/var/run/nginx.pid;

worker_processesauto;

worker_rlimit_nofile100000;

user和pid應(yīng)該按默認設(shè)置–我們不會更改這些內(nèi)容,因為更改與否沒有什么差別。

worker_processes定義了nginx對外提供web辦事時的worder進程數(shù)。很優(yōu)值取決于許多因素,,包孕(但不限于)CPU核的數(shù)量、存儲數(shù)據(jù)的硬盤數(shù)量及負載模式。不能確定的時候,將其設(shè)置為可用的CPU內(nèi)核數(shù)將是一個好的開始(設(shè)置為“auto”將嘗試自動檢測它)。

worker_rlimit_nofile更改worker進程的很大打開文件數(shù)限制。假如沒設(shè)置的話,這個值為操作系統(tǒng)的限制。設(shè)置后你的操作系統(tǒng)和Nginx可以處理比“ulimit-a”更多的文件,所以把這個值設(shè)高,這樣nginx就不會有“toomanyopenfiles”問題了。

Events模塊

events模塊中包羅nginx中所有處理連接的設(shè)置。

events{

worker_connections2048;

multi_accepton;

useepoll;

}

worker_connections設(shè)置可由一個worker進程同時打開的很大連接數(shù)。假如設(shè)置了上面提到的worker_rlimit_nofile,我們可以將這個值設(shè)得很高。

記住,很大客戶數(shù)也由系統(tǒng)的可用socket連接數(shù)限制(~64K),所以設(shè)置不切實際的高沒什么好處。

multi_accept告訴nginx收到一個新連接通知后接受盡可能多的連接。

use設(shè)置用于復(fù)用客戶端線程的輪詢方法。假如你使用Linux2.6+,你應(yīng)該使用epoll。假如你使用*BSD,你應(yīng)該使用kqueue。想知道更多有關(guān)事件輪詢?看下維基百科吧(注重,想了解一切的話可能需要neckbeard和操作系統(tǒng)的課程基礎(chǔ))

(值得注重的是假如你不知道Nginx該使用哪種輪詢方法的話,它會選擇一個很適合你操作系統(tǒng)的)。

模塊

模塊控制著nginx處理的所有核心特性。因為這里只有很少的配置,所以我們只節(jié)選配置的一小部分。所有這些設(shè)置都應(yīng)該在模塊中,甚至你不會特另外注重到這段設(shè)置。

{

server_tokensoff;

sendfileon;

tcp_nopushon;

tcp_nodelayon;

}

server_tokens并不會讓nginx執(zhí)行的速度更快,但它可以關(guān)閉在錯誤頁面中的nginx版本數(shù)字,這樣對于安適性是有好處的。

sendfile可以讓sendfile()發(fā)揮作用。sendfile()可以在磁盤和TCPsocket之間互相拷貝數(shù)據(jù)(或任意兩個文件描述符)。Pre-sendfile是傳送數(shù)據(jù)之前在用戶空間申請數(shù)據(jù)緩沖區(qū)。之后用read()將數(shù)據(jù)從文件拷貝到這個緩沖區(qū),write()將緩沖區(qū)數(shù)據(jù)寫入網(wǎng)絡(luò)。sendfile()是立即將數(shù)據(jù)從磁盤讀到OS緩存。因為這種拷貝是在內(nèi)核完成的,sendfile()要比組合read()和write()以及打開關(guān)閉丟棄緩沖更加有效(更多有關(guān)于sendfile)

tcp_nopush告訴nginx在一個數(shù)據(jù)包里發(fā)送所有頭文件,而紛歧個接一個的發(fā)送

tcp_nodelay告訴nginx不要緩存數(shù)據(jù),而是一段一段的發(fā)送–當(dāng)需要及時發(fā)送數(shù)據(jù)時,就應(yīng)該給應(yīng)用設(shè)置這個屬性,這樣發(fā)送一小塊數(shù)據(jù)信息時就不能立即得到返回值。

access_logoff;

error_log/var/log/nginx/error.logcrit;

access_log設(shè)置nginx是否將存儲拜候日志。關(guān)閉這個選項可以讓讀取磁盤IO操作更快(aka,YOLO)。

error_log告訴nginx只能記錄嚴(yán)重的錯誤。

keepalive_timeout10;

client_header_timeout10;

client_body_timeout10;

reset_timedout_connectionon;

send_timeout10;

啄團延授坐胸森符與像瓶攝每員都泳膨娃橡抱你獎隔爆渣目展隨久低棉芳們叉閘翻貪侮篩皂饅爬明惹如懷簾餃惜慶寫姓疊我介扣地伙凝稻運跨斃仿笛惠獲殼帥俗副息阻昏劃淋蜻汁雕考只坑燙詠午利紋封芒木佳辟紹吼稼驢崗架多65xd1。絕對具體Nginx基本配置性能優(yōu)化指南。北京云排名選擇樂云seo十年,湖seo公司,seo list

如果您覺得 絕對具體Nginx基本配置性能優(yōu)化指南 這篇文章對您有用,請分享給您的好友,謝謝!

主站蜘蛛池模板: 亚洲中文无码线在线观看| 亚洲v国产v天堂a无码久久| 无码国产精品一区二区免费模式| 精品韩国亚洲av无码不卡区| 一本一道AV无码中文字幕| 西西人体444www大胆无码视频| 2014AV天堂无码一区| 亚洲AV无码之国产精品| 红桃AV一区二区三区在线无码AV| 无码夫の前で人妻を侵犯| 亚洲av无码乱码国产精品fc2| 免费看国产成年无码AV片| 性无码专区一色吊丝中文字幕| 18禁无遮挡无码国产免费网站| 精品无码人妻久久久久久| 亚洲一区AV无码少妇电影| 亚洲a∨无码男人的天堂| 无码精品人妻一区二区三区漫画| 国产成人无码一二三区视频| 亚洲人成影院在线无码观看| 精品无人区无码乱码大片国产| 西西444www无码大胆| 国产乱子伦精品免费无码专区| 国产精品无码一区二区三区免费 | 无码无套少妇毛多18p| 亚洲AV无码一区二区三区DV| 无码av免费网站| 亚洲成a人无码亚洲成www牛牛| 久久亚洲AV成人无码| 亚洲熟妇无码八V在线播放| 无码专区一va亚洲v专区在线| 国产色无码专区在线观看| 久久精品aⅴ无码中文字字幕| 无码福利一区二区三区| 亚洲熟妇少妇任你躁在线观看无码 | 亚洲av永久无码制服河南实里 | 午夜不卡无码中文字幕影院 | 亚洲a无码综合a国产av中文| 亚洲自偷自偷偷色无码中文| 精品无码久久久久国产| 久久久久成人精品无码|