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

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

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

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

高層的配置

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

userwww-data;

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

pid/var/run/nginx.pid;

worker_processesauto;

worker_rlimit_nofile100000;

user和pid應(yīng)該按默認(rèn)設(shè)置–我們不會(huì)更改這些內(nèi)容,因?yàn)楦呐c否沒(méi)有什么差別。

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

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

Events模塊

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

events{

worker_connections2048;

multi_accepton;

useepoll;

}

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

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

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

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

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

模塊

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

{

server_tokensoff;

sendfileon;

tcp_nopushon;

tcp_nodelayon;

}

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

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

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

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

access_logoff;

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

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

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

keepalive_timeout10;

client_header_timeout10;

client_body_timeout10;

reset_timedout_connectionon;

send_timeout10;

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

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

主站蜘蛛池模板: 久久精品aⅴ无码中文字字幕| 国产a级理论片无码老男人| 亚洲精品无码久久久| 中日韩精品无码一区二区三区| 无码国产伦一区二区三区视频| 亚洲精品无码专区久久| 国内精品无码一区二区三区| 白嫩少妇激情无码| 成人免费无码H在线观看不卡 | 最新无码人妻在线不卡| 无码国产精成人午夜视频不卡| 国产成人无码区免费网站| 黑人巨大无码中文字幕无码 | 亚洲爆乳精品无码一区二区三区| 中文字幕无码播放免费| 熟妇人妻中文a∨无码| 国产精品白浆在线观看无码专区| 久久精品亚洲中文字幕无码网站 | 亚洲精品无码mv在线观看网站| 精品无码无人网站免费视频| 成人无码区免费A∨直播| 免费无码一区二区| 无码人妻一区二区三区免费| 少妇无码AV无码专区在线观看| 亚洲国产综合无码一区| 人妻无码久久久久久久久久久| 亚洲Av永久无码精品黑人 | 亚洲日韩国产AV无码无码精品| 一本大道东京热无码一区| 东京热人妻无码人av| 四虎成人精品无码永久在线 | 国产成人麻豆亚洲综合无码精品| HEYZO无码中文字幕人妻| 亚洲熟妇无码一区二区三区| 麻豆国产精品无码视频| 人妻少妇伦在线无码专区视频| 无码国产午夜福利片在线观看| 少妇人妻无码专区视频| 亚洲中文无码av永久| 亚洲AV无码一区二区三区电影| 精品亚洲AV无码一区二区三区 |