3. Nginx 配置文件一

#定義Nginx運行的用戶和用戶組javascript

user  www www;css

#啓動進程,一般設置成和cpu的數量相等java

worker_processes  8;node

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;linux

#爲每一個進程分配cpu,上例中將8個進程分配到8cpu,固然能夠寫多個,或者將一個進程分配到多個cpunginx

worker_rlimit_nofile 102400;後端

#這個指令是指當一個nginx進程打開的最多文件描述符數目,理論值應該是最多打緩存

#開文件數(ulimit -n)與nginx進程數相除,可是nginx分配請求並非那麼均勻服務器

#,因此最好與ulimit -n的值保持一致。網絡

 

#全局錯誤日誌及PID文件

error_log  /usr/local/nginx/logs/error.log;

#錯誤日誌定義等級,[ debug | info | notice | warn | error | crit ]

pid        /usr/local/nginx/nginx.pid;

 

#一個nginx進程打開的最多文件描述符數目,理論值應該是最多打開文件數(系統的值ulimit -n)與nginx進程數相除,可是nginx分配請求並不均勻.

#因此建議與ulimit -n的值保持一致。

worker_rlimit_nofile 65535;

 

#工做模式及鏈接數上限

events {

    use   epoll;              #epoll是多路複用IO(I/O Multiplexing)中的一種方式,可是僅用於linux2.6以上內核,能夠大大提升nginx的性能

    worker_connections  102400; #單個後臺worker process進程的最大併發連接數 (最大鏈接數=鏈接數*進程數

    multi_accept on; #儘量多的接受請求

}

#設定http服務器,利用它的反向代理功能提供負載均衡支持

http {

    #設定mime類型,類型由mime.type文件定義

include       mime.types;

default_type  application/octet-stream;

#定義默認的數據流

 

access_log    /usr/local/nginx/log/nginx/access.log;

#設定日誌格式

 sendfile      on; 若是是下載的網站的話能夠關閉掉,能夠下降系統的IO

    #sendfile 指令指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文件,對於普通應用必須設爲 on

#若是用來進行下載等應用磁盤IO重負載應用,可設置爲 off,以平衡磁盤與網絡I/O處理速度,下降系統的uptime.

#autoindex  on;  #開啓目錄列表訪問,合適下載服務器,默認關閉。

tcp_nopush on; #防止網絡阻塞

keepalive_timeout 60;

#keepalive超時時間,客戶端到服務器端的鏈接持續有效時間,當出現對服務器的後,繼請求時,keepalive-timeout功能可避免創建或從新創建鏈接。

    tcp_nodelay   on; #提升數據的實時響應性

   #開啓gzip壓縮

   gzip on;

gzip_min_length  1k;

gzip_buffers     4 16k;

gzip_http_version 1.1;

gzip_comp_level 2; #壓縮級別大小,最大爲9,值越小,壓縮後比例越小,CPU處理更快。

#值越大,消耗CPU比較高。

gzip_types       text/plain application/x-javascript text/css application/xml;

gzip_vary on;

client_max_body_size 10m;      #容許客戶端請求的最大單文件字節數

    client_body_buffer_size 128k;  #緩衝區代理緩衝用戶端請求的最大字節數,

    proxy_connect_timeout 90;      #nginx跟後端服務器鏈接超時時間(代理鏈接超時)

    proxy_send_timeout 90;         #後端服務器數據回傳時間(代理髮送超時)

    proxy_read_timeout 90;         #鏈接成功後,後端服務器響應時間(代理接收超時)

    proxy_buffer_size 4k;          #設置代理服務器(nginx)保存用戶頭信息的緩衝區大小

    proxy_buffers 4 32k;           #proxy_buffers緩衝區,網頁平均在32k如下的話,這樣設置

    proxy_busy_buffers_size 64k;   #高負荷下緩衝大小(proxy_buffers*2

 

    #設定請求緩衝

    large_client_header_buffers  4 4k;

client_header_buffer_size 4k;

#客戶端請求頭部的緩衝區大小,這個能夠根據你的系統分頁大小來設置,通常一個請求的頭部大小不會超過1k

#不過因爲通常系統分頁都要大於1k,因此這裏設置爲分頁大小。分頁大小能夠用命令getconf PAGESIZE取得。

open_file_cache max=102400 inactive=20s;

#這個將爲打開文件指定緩存,默認是沒有啓用的,max指定緩存數量,建議和打開文件數一致,inactive是指通過多長時間文件沒被請求後刪除緩存。

open_file_cache_valid 30s;

#這個是指多長時間檢查一次緩存的有效信息。

open_file_cache_min_uses 1;

#open_file_cache指令中的inactive參數時間內文件的最少使用次數,若是超過這個數字,文件描述符一直是在緩存中打開的,如上例,若是有一個文件在inactive

    #包含其它配置文件,如自定義的虛擬主機

    include vhosts.conf;

相關文章
相關標籤/搜索