nginx可优化配置

## 定义Nginx运行的用户和用户组
user  www www;                       
## nginx进程数,建议设置为等于CPU总核心数,最多开启8个,超过8个稳定性不高,性能提升受限
worker_processes auto;
## 多核CPU利用参数
worker_cpu_affinity auto;
## 全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log  /usr/local/nginx/logs/error.log  warn;
## nginx的pid路径
pid nginx.pid;
## worker进程最大打开文件数
worker_rlimit_nofile 65535;

events模块中包含nginx中所有处理连接的设置

events
{
## 使用epoll的I/O 模型
    use epoll;
## 如果multi_accept被禁止了,nginx一个工作进程只能同时接受一个新的连接。否则,一个工作进程可以同时接受所有的新连接
    multi_accept on;
## 设置可由一个worker进程同时打开的最大连接数
    worker_connections 65530;
}

MIME-type和Content-Type的关系:

当web服务器收到静态的资源文件请求时,依据请求文件的后缀名在服务器的MIME配置文件中找到对应的MIME Type,再根据MIME Type设置HTTP Response的Content-Type,然后客户端如浏览器根据Content-Type的值处理文件。

http
{
## include表示纳入mime.types文件的配置
    include       mime.types;
## 如果Web程序没设置,Nginx也没找到对应文件的扩展名的话,就使用默认的Type,这个在Nginx 里用 default_type定义: default_type application/octet-stream,这是应用程序文件类型的默认值。
    default_type  application/octet-stream;
## 设置编码格式,一般情况下不需要
    charset utf-8;
## 隐藏版本号
    server_tokens off;
## 开启高效文件传输模式
    sendfile on;
## 当有数据时,先别着急发送, 确保数据包已经装满数据, 避免了网络拥塞
    tcp_nopush on;
## 确保数据尽快发送, 提高可数据传输效率
    tcp_nodelay on;
## 指定每个 TCP 连接最多可以保持多长时间
    keepalive_timeout 40s;
## 客户端向服务端发送一个完整的 request header 的超时时间
    client_header_timeout 10;
## 指定客户端与服务端建立连接后发送 request body 的超时时间
    client_body_timeout 10;
## 客户端请求头缓存 大小 4k
    client_header_buffer_size 4k;
## nginx配置多个域名.保存服务器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果 hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键 值。因此,如果Nginx给出需要增大 hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.
    server_names_hash_bucket_size 128;
## 设置用于读取大客户端请求头的缓冲区的最大数目和大小
    large_client_header_buffers 4 32k;
## 大文件上传限制
    client_max_body_size 100m;
## 服务端向客户端传输数据的超时时间
    send_timeout 10;
## 告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。
    reset_timedout_connection on;
## 打开缓存的同时也指定了缓存最大数目,以及缓存的时间。我们可以设置一个相对高的最大时间,这样我们可以在它们不活动超过20秒后清除掉
    open_file_cache max=102400 inactive=20s;
## 定义了open_file_cache中指令参数不活动时间期间里最小的文件数
    open_file_cache_min_uses 1;
## 在open_file_cache中指定检测正确信息的间隔时间
    open_file_cache_valid 30s;
 
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 128k;      #出现110错误需要更改相应大小值
    fastcgi_buffers 256 128k;
    fastcgi_busy_buffers_size 256k;    #fastcgi_buffers的两倍
    fastcgi_temp_file_write_size 256k; #fastcgi_buffers的两倍
 ## 后端服务器连接的超时时间_发起握手等候响应超时时间
    proxy_connect_timeout 90;
## 后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
    proxy_send_timeout 90;
# 后端服务器处理请求的时间
    proxy_read_timeout 90;
# Nginx使用该大小申请read_buf,即大小指定了 upstream header 最大长度,如果响应头超过了这个长度会报502    
proxy_buffer_size 128k;        #出现110错误需要更改相应大小值
# 设置存储被代理服务器响应的body所占用的buffer个数和每个buffer大小
proxy_buffers 256 128k;
    
proxy_busy_buffers_size 256k;    #proxy_buffers的两倍
    proxy_temp_file_write_size 256k; #proxy_buffers的两倍
 # 告诉nginx采用gzip压缩的形式发送数据;这将会减少我们发送的数据量
    gzip  on;
# 设置对数据启用压缩的最少字节数。如果一个请求小于1000字节,我们最好不要压缩它,因为压缩这些小的数据会降低处理此请求的所有进程的速度
    gzip_min_length     256;
    gzip_buffers        4 16k;
    gzip_http_version   1.1;
    gzip_vary on;
# 设置数据的压缩等级。这个等级可以是1-9之间的任意数值,9是最慢但是压缩比最大的。我们设置为4,这是一个比较折中的设置
    gzip_comp_level 5;
    gzip_disable "MSIE [1-6]\.";
# 允许或者禁止压缩基于请求和响应的响应流。我们设置为any,意味着将会压缩所有的请求。
    gzip_proxied any;
# 设置需要压缩的数据格式
    gzip_types
        application/atom+xml
        application/javascript
        application/json
        application/ld+json
        application/manifest+json
        application/rss+xml
        application/vnd.geo+json
        application/vnd.ms-fontobject
        application/x-font-ttf
        application/x-web-app-manifest+json
        application/xhtml+xml
        application/xml
        font/opentype
        image/bmp
        image/svg+xml
        image/x-icon
        text/cache-manifest
        text/css
        text/plain
        text/vcard
        text/vnd.rim.location.xloc
        text/vtt
        text/x-component
        text/x-cross-domain-policy;
 
    log_format access '{"@timestamp":"$time_iso8601",'
            '"host":"$server_addr",'
            '"clientip":"$remote_addr",'
            '"size":$body_bytes_sent,'
            '"responsetime":$request_time,'
            '"upstreamtime":"$upstream_response_time",'
            '"upstreamhost":"$upstream_addr",'
            '"http_host":"$host",'
            '"url":"$uri",'
            '"xff":"$http_x_forwarded_for",'
            '"referer":"$http_referer",'
            '"agent":"$http_user_agent",'
            '"status":"$status"}';
    access_log  /usr/local/nginx/logs/access.log  access;
    server {
        listen 80;
        server_name localhost;
        index index.html index.php;
        root /data/www/default;
        access_log /usr/local/nginx/logs/access.log;
        error_log /usr/local/nginx/logs/error.log;
 
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=$1  last;
            break;
        }
 
 
        location ~ \.php {
            expires  -1;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342