返回頂部
關(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人片在线观看无码3D| 国产AV无码专区亚汌A√| 无码福利一区二区三区| 精品一区二区三区无码免费直播| 亚洲?V无码成人精品区日韩 | 亚洲中文字幕无码一区| 久久久久亚洲av无码专区蜜芽| 亚洲国产成人精品无码区在线秒播| 内射无码专区久久亚洲| 伊人天堂av无码av日韩av| 国模无码人体一区二区| 亚洲Aⅴ在线无码播放毛片一线天| 在线a亚洲v天堂网2019无码| 无码午夜人妻一区二区不卡视频 | 中出人妻中文字幕无码 | 日韩精品无码Av一区二区| 免费A级毛片av无码| 亚洲精品无码久久千人斩| 亚洲AV无码国产一区二区三区| 无码人妻久久久一区二区三区| 午夜亚洲av永久无码精品| 97无码免费人妻超级碰碰夜夜| 无码人妻品一区二区三区精99| 免费看成人AA片无码视频吃奶| 国产AV无码专区亚洲AV蜜芽 | 无码av免费一区二区三区| 13小箩利洗澡无码视频网站免费| 精品无码中文视频在线观看| 无码中文字幕一区二区三区| 影音先锋中文无码一区| 99国产精品无码| 中文字幕无码不卡一区二区三区| 亚洲国产超清无码专区| 亚洲中文字幕久久精品无码A| 亚洲国产成人精品无码区在线秒播| 男人的天堂无码动漫AV| 色综合久久久无码网中文|