Nginx 1.10.1 版本nginx.conf優(yōu)化配置及詳細(xì)注釋

普通配置

==性能配置

運(yùn)行用戶

user nobody;

pid文件

pid logs/nginx.pid;

==worker進(jìn)程數(shù)嫌吠,通常設(shè)置等同于CPU數(shù)量刨秆,auto為自動(dòng)檢測(cè)

worker_processes auto;

==worker進(jìn)程打開最大文件數(shù)翔忽,可CPU*10000設(shè)置

worker_rlimit_nofile 100000;

全局錯(cuò)誤日志

error_log logs/error.log;

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

events {
#==worker進(jìn)程同時(shí)打開的最大連接數(shù),可CPU*2048設(shè)置
worker_connections 2048;
#==告訴nginx收到一個(gè)新鏈接通知后接受盡可能多的鏈接
multi_accept on;
#==設(shè)置用于復(fù)用客戶端線程的輪訓(xùn)方法
use epoll;
}

http模塊控制著nginx http處理的所有核心特性

http {
#打開或關(guān)閉錯(cuò)誤頁面中的nginx版本號(hào)deng
server_tokens on;
#!server_tag on;
#!server_info on;
#==優(yōu)化磁盤IO設(shè)置,指定nginx是否調(diào)用sendfile函數(shù)來輸出文件,普通應(yīng)用設(shè)為on事镣,下載等磁盤IO高的應(yīng)用,可設(shè)為off
sendfile on;
#==設(shè)置nginx在一個(gè)數(shù)據(jù)包里發(fā)送所有頭文件揪胃,而不是一個(gè)接一個(gè)的發(fā)送
tcp_nopush on;
#==設(shè)置nginx不要緩存數(shù)據(jù)璃哟,而是一段一段的發(fā)送,
#==當(dāng)需要及時(shí)發(fā)送數(shù)據(jù)時(shí)只嚣,就應(yīng)該給應(yīng)用設(shè)置這個(gè)屬性,這樣發(fā)送一小塊數(shù)據(jù)信息時(shí)就不能立即得到返回值
tcp_nodelay on;

#==設(shè)置nginx是否存儲(chǔ)訪問日志艺沼,關(guān)閉這個(gè)可以讓讀取磁盤IO操作更快
access_log on;
#設(shè)置nginx只記錄嚴(yán)重錯(cuò)誤
#error_log logs/error.log crit;

#==給客戶端分配keep-alive鏈接超時(shí)時(shí)間
keepalive_timeout 30;

#設(shè)置用戶保存各種key的共享內(nèi)存的參數(shù)册舞,5m指的是5兆
limit_conn_zone $binary_remote_addr zone=addr:5m;
#為給定的key設(shè)置最大的連接數(shù),這里的key是addr障般,設(shè)定的值是100调鲸,就是說允許每一個(gè)IP地址最多同時(shí)打開100個(gè)連接
limit_conn addr 100;

#include指在當(dāng)前文件中包含另一個(gè)文件內(nèi)容
include mime.types;
#設(shè)置文件使用默認(rèn)的mine-type
default_type text/html;
#設(shè)置默認(rèn)字符集
charset UTF-8;

#==設(shè)置nginx采用gzip壓縮的形式發(fā)送數(shù)據(jù),減少發(fā)送數(shù)據(jù)量挽荡,但會(huì)增加請(qǐng)求處理時(shí)間及CPU處理時(shí)間藐石,需要權(quán)衡
gzip on;
#==加vary給代理服務(wù)器使用,針對(duì)有的瀏覽器支持壓縮定拟,有個(gè)不支持于微,根據(jù)客戶端的HTTP頭來判斷是否需要壓縮
gzip_vary on;
#nginx在壓縮資源之前,先查找是否有預(yù)先gzip處理過的資源
#!gzip_static on;
#為指定的客戶端禁用gzip功能
gzip_disable "MSIE[1-6]\.";
#允許或禁止壓縮基于請(qǐng)求和相應(yīng)的響應(yīng)流青自,any代表壓縮所有請(qǐng)求
gzip_proxied any;
#==設(shè)置對(duì)數(shù)據(jù)啟用壓縮的最少字節(jié)數(shù)株依,如果請(qǐng)求小于10240字節(jié)則不壓縮,會(huì)影響請(qǐng)求速度
gzip_min_length 10240;
#==設(shè)置數(shù)據(jù)壓縮等級(jí)延窜,1-9之間恋腕,9最慢壓縮比最大
gzip_comp_level 2;
#設(shè)置需要壓縮的數(shù)據(jù)格式
gzip_types text/plain text/css text/xml text/javascript  application/json application/x-javascript application/xml application/xml+rss; 

#==開發(fā)緩存的同時(shí)也指定了緩存文件的最大數(shù)量,20s如果文件沒有請(qǐng)求則刪除緩存
open_file_cache max=100000 inactive=20s;
#==指多長(zhǎng)時(shí)間檢查一次緩存的有效信息
open_file_cache_valid 60s;
#==文件緩存最小的訪問次數(shù)逆瑞,只有訪問超過5次的才會(huì)被緩存
open_file_cache_min_uses 5;
#當(dāng)搜索一個(gè)文件時(shí)是否緩存錯(cuò)誤信息
open_file_cache_errors on;

#==允許客戶端請(qǐng)求的最大單文件字節(jié)數(shù)
client_max_body_size 8m;
#==沖區(qū)代理緩沖用戶端請(qǐng)求的最大字節(jié)數(shù)
client_header_buffer_size 32k;

#
proxy_redirect off;
#后端的Web服務(wù)器可以通過X-Forwarded-For獲取用戶真實(shí)IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#==nginx跟后端服務(wù)器連接超時(shí)時(shí)間(代理連接超時(shí))
proxy_connect_timeout 60;
#==連接成功后荠藤,后端服務(wù)器響應(yīng)時(shí)間(代理接收超時(shí))
proxy_read_timeout 120;
#==后端服務(wù)器數(shù)據(jù)回傳時(shí)間(代理發(fā)送超時(shí))
proxy_send_timeout 20;
#==設(shè)置代理服務(wù)器(nginx)保存用戶頭信息的緩沖區(qū)大小
proxy_buffer_size 32k;
#==proxy_buffers緩沖區(qū)伙单,網(wǎng)頁平均在32k以下的設(shè)置
proxy_buffers 4 128k;
#==高負(fù)荷下緩沖大小(proxy_buffers*2)
proxy_busy_buffers_size 256k;
#==設(shè)定緩存文件夾大小哈肖,大于這個(gè)值吻育,將從upstream服務(wù)器傳
proxy_temp_file_write_size 256k;
#==1G內(nèi)存緩沖空間,3天不用刪除牡彻,最大磁盤緩沖空間2G
proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:1024m inactive=3d max_size=2g;


#設(shè)定負(fù)載均衡服務(wù)器列表
upstream nginx.test.com{
    #后端服務(wù)器訪問規(guī)則
    #ip_hash;
    #weight參數(shù)表示權(quán)重值扫沼,權(quán)值越高被分配到的幾率越大
    #server 10.11.12.116:80 weight=5;
    #PC_Local
    server 10.11.12.116:80;
    #PC_Server
    server 10.11.12.112:80;
    #Notebook
    #server 10.11.12.106:80;
}

#虛擬主機(jī)設(shè)定模塊(掛載多個(gè)站點(diǎn),只需要配置多個(gè)server及upstream節(jié)點(diǎn)即可)
server {
    #監(jiān)聽80端口
    listen 80;
    #定義使用nginx.test.com訪問
    server_name nginx.test.com;
    #設(shè)定本虛擬主機(jī)的訪問日志
    access_log logs/nginx.test.com.access.log;
    
    #默認(rèn)請(qǐng)求
    # 語法規(guī)則:location [=|~|~*|^~] /uri/ {...} 先匹配普通location庄吼,在匹配正則location
    # = 開頭表示精確匹配
    # ^~ 開頭表示uri以某個(gè)常規(guī)字符串開頭缎除,理解為匹配url路徑即可,無需考慮編解碼
    # ~ 開頭表示區(qū)分大小寫的正則匹配
    # ~* 開頭表示不區(qū)分大小寫的正則匹配
    # !~ 開頭表示區(qū)分大小寫的不匹配的正則
    # !~* 開頭表示不區(qū)分大小寫的不匹配的正則
    # / 通用匹配总寻,任何請(qǐng)求都會(huì)被匹配到
    location / {
        #定義服務(wù)器的默認(rèn)網(wǎng)站根目錄位置
        root html;
        #定義首頁索引文件的名稱
        index index.html index.htm;
        #定義后端負(fù)載服務(wù)器組
        proxy_pass http://nginx.test.com;
    }

    #定義錯(cuò)誤提示頁面
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }
    #靜態(tài)文件器罐,nginx自己處理
    location ~ ^/(images|javascript|js|css|flash|media|static)/{
        root /var/www/virtual/htdocs;
        #過期時(shí)間1天
        expires 1d;
        #關(guān)閉媒體文件日志
        access_log off;
        log_not_found off;
    }
    #設(shè)定查看Nginx狀態(tài)的地址
    location /NginxStatus {
        #!stub_status on; #無此關(guān)鍵字
        access_log off;
        auth_basic "NginxStatus";
        auth_basic_user_file conf/htpasswd;
    }
    #禁止訪問的文件.htxxx
    location ~ /\.ht {
        deny all;
    }
}
#網(wǎng)站較多的情況下ngxin又不會(huì)請(qǐng)求瓶頸可以考慮掛多個(gè)站點(diǎn),并把虛擬主機(jī)配置單獨(dú)放在一個(gè)文件內(nèi)渐行,引入進(jìn)來
#include website.conf;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末轰坊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子祟印,更是在濱河造成了極大的恐慌肴沫,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蕴忆,死亡現(xiàn)場(chǎng)離奇詭異颤芬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)套鹅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門站蝠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卓鹿,你說我怎么就攤上這事菱魔。” “怎么了吟孙?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵澜倦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我杰妓,道長(zhǎng)肥隆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任稚失,我火速辦了婚禮栋艳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘句各。我一直安慰自己吸占,他們只是感情好晴叨,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著矾屯,像睡著了一般兼蕊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上件蚕,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天孙技,我揣著相機(jī)與錄音,去河邊找鬼排作。 笑死牵啦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妄痪。 我是一名探鬼主播哈雏,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼衫生,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼裳瘪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起罪针,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤彭羹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后泪酱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體派殷,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年西篓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了愈腾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片憋活。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡岂津,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悦即,到底是詐尸還是另有隱情吮成,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布辜梳,位于F島的核電站粱甫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏作瞄。R本人自食惡果不足惜茶宵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宗挥。 院中可真熱鬧乌庶,春花似錦种蝶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至透敌,卻和暖如春盯滚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酗电。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工魄藕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人顾瞻。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓泼疑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親荷荤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子退渗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Page 1:nginx 服務(wù)器安裝及配置文件詳解 CentOS 6.2 x86_64 安裝 nginx 1.1 ...
    xiaojianxu閱讀 8,545評(píng)論 1 41
  • nginx在工作中已經(jīng)有好幾個(gè)環(huán)境在使用了,每次都是重新去網(wǎng)上扒博客蕴纳,各種編譯配置会油,今天自己也整理一份安裝文檔和n...
    AndyChin閱讀 2,305評(píng)論 0 4
  • 配置運(yùn)行Nginx服務(wù)器用戶(組) 用于配置運(yùn)行Nginx服務(wù)器用戶(組)的指令是user,其語法格式為: use...
    吃瓜的東閱讀 4,506評(píng)論 0 41
  • 1. Nginx的模塊與工作原理 Nginx由內(nèi)核和模塊組成古毛,其中翻翩,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔,完成的工作也非常簡(jiǎn)單...
    rosekissyou閱讀 10,222評(píng)論 5 124
  • 《老男孩Linux運(yùn)維》筆記 隱藏Nginx軟件版本號(hào) 一般來說稻薇,軟件的漏洞都和版本有關(guān)嫂冻。因此要盡量隱藏對(duì)訪問用戶...
    Zhang21閱讀 3,653評(píng)論 0 28