#定義nginx運行的用戶和用戶組
user www www;
#啟動進程,通常設置成和cpu的數量相等
worker_processes 8 ;
#為每個進程分配CPU,上面京8個進程分配到8個cpu,當然可以寫多個,或者將一個進程分配到多個CPU
worker_cpu_affinity 00000001 00000100 00001000 00010000 00100000 01000000 10000000;
#該指令是當一個Nginx進程打開的最多文件描述符數目,理論值應該是最多打開文件數(ulimit-n)與nginx進程數相除,但是Nginx分配請求並不是那么均勻,所以最好與ulimit -n 的值保持一致
worker_rlimit_nofile 102400;
#全局錯誤日志
error_log /usr/local/nginx/logs/error.log;
#錯誤日志定義等級,[debug,info,notice,warn,error,crit]
#pid文件
pid /usr/local/nginx/nginx.pid;
#工作模式及連接數上限
events{
use epoll;
}
#epoll 是多路復用I/O(I/O multipliexing)中的一種方式,但是僅用於linux 2.6以上內核,可以大大提高nginx的性能
#單個后台worker_process進程的最大並發連接數(最大連接數=連接數*進程數)
worker_connections 102400;
#盡可能多地接受請求
multi——accept on;
#設定http服務器,利用他的反向代理功能提供負載均衡
http{
include mime.types;
default_type application/octet-stream;
}
#設定日志格式
access_log /usr/local/nginx/log/nginx/access.log;
#sedfile指定nginx是否調用sendfile函數(zero copy方式)來輸出文件,對於普通應用必須為on
#如果用來進行下載登用用磁盤I/O重負載應用,可設置為of,來平衡磁盤與網絡I/O
sendfile on ;
#開啟目錄列表訪問,適合下載服務器,默認關閉
autoindex on ;
#防止網絡阻塞
tcp_nopush on;
#keepalive超時時間,客戶端到服務器的連接持續有效時間,當出現對服務器的后端請求時,可以避免建立或重新建立連接
keepalive_timeout 60;
#提高數據的實時響應性
tcp_nodelay on;
#開啟gzip壓縮
gzip on;
gzip_min_length 1KB;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
#壓縮級別大小,最大為9,值越小,壓縮后比例越小,CPU處理更快,值越大,消耗CPU比較高
gzip_types text/plain application/x - javescript text/css application/xml;
gzip_vary on;
#允許客戶端請求的最大單文件字節數
client_max_body_size 10MB;
#緩沖區代理緩沖用戶端請求的最大字節數
client_body_buffer_size 128KB;
#nginx跟后端服務器超時時間(代理連接超時)
proxy_connect_timeout 90;
#后端服務器數據回傳時間(代理發送超時)
proxy_send_timeout 90;
#連接成功后,后端服務器響應時間(代理接受超時)
proxy_read_timeout 90;
#設置代理服務器(nginx)保持用戶頭信息的緩沖區大小
proxy_buffer_size 4KB;
#proxy_buffers緩沖區,網頁平均在32KB一下的話,這樣設置
proxy_buffers 4 32KB;
#高負荷下緩沖大小(proxy_buffers*2)
proxy_busy_buffers_size 64KB;
#設定請求緩沖
large_client_header_buffers 4 4KB;
client_header_buffer_size 4KB;
#客戶端請求頭部的緩沖區大小,這個可以根據系統分頁大小來設置,一般一個請求的頭部不會超過1KB,不過一般胸痛分頁都大於1KB,所以這里設置為分頁大小,分頁大小可以用命令getconf pagesize取得
#為打開文件指定緩沖,默認時沒有啟用的,max指定緩沖數量,建議和打開文件數一致,inactive是指經過多長時間文件沒被請求后刪除緩沖
open_file_cache max = 102400 inactive = 20s;
#多長時間檢查一次緩沖的有效信息
open_file_cache_valid 30s;
#open_file_cache指令中的inactive參數時間內文件的最少使用次數,如果超過這個數字,文件描述符一致是在緩沖中打開的,比如上面,如果有一個文件在inactive
open_file_cache_min_user 1;
#包含其他配置文件,如自定義虛擬主機
include vhosts.conf;