返回頂部
關(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)化指南 這篇文章對您有用,請分享給您的好友,謝謝!

主站蜘蛛池模板: 少妇久久久久久人妻无码| 久久青青草原亚洲av无码app| 亚洲级αV无码毛片久久精品| 爆乳无码AV一区二区三区| 日本无码一区二区三区白峰美| 无码中文字幕一区二区三区| 加勒比无码一区二区三区| 亚洲国产精品无码中文字| 18精品久久久无码午夜福利| 国产精品白浆在线观看无码专区| 亚洲精品无码激情AV| 亚洲AV无码一区二区三区电影 | 中文无码日韩欧免费视频| 亚洲AV永久青草无码精品| 亚洲AV成人噜噜无码网站| 中日精品无码一本二本三本| av潮喷大喷水系列无码| 最新无码A∨在线观看| 亚洲精品无码激情AV| 人妻精品无码一区二区三区| 免费A级毛片无码A∨中文字幕下载| 国产强被迫伦姧在线观看无码| 久久久久久久无码高潮| 无码人妻久久久一区二区三区 | 亚洲午夜无码毛片av久久京东热| 国产精品无码久久久久| 国产成人无码精品久久久免费| 伊人无码精品久久一区二区| 中日韩亚洲人成无码网站| 亚洲人av高清无码| 惠民福利中文字幕人妻无码乱精品 | 亚洲中文字幕无码中文| 狠狠躁天天躁无码中文字幕| 日韩精品无码免费专区午夜| 国产精品无码不卡一区二区三区 | 日韩丰满少妇无码内射| 精品国产aⅴ无码一区二区| 在线看片无码永久免费视频| 免费无码又爽又黄又刺激网站 | 秋霞鲁丝片无码av| 久久久久成人精品无码中文字幕|