首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 系统运维 >

nginx 惯用配置详解(持续更新)

2013-09-05 
nginx 常用配置详解(持续更新)基于Nginx1.5.3#usernobodyworker_processes1#error_loglogs/error.log#e

nginx 常用配置详解(持续更新)

基于Nginx1.5.3


#user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;client_header_timeout  30;  #设置客户端请求头读取超时时间,如果在这个时间后客户端还没有发送任何数据,Nginx返回“Request time out(408)”错误。    client_body_timeout    30;  #设置客户端请求主体读取超时时间,如果在这个时间后客户端还没有发送任何数据,Nginx返回“Request time out(408)”错误,默认值是60。    send_timeout           3m;  #指定响应客户端的超时时间,这个超时仅限于两个阅读活动之间的时间,如果这个时间后客户端没有任何活动,Nginx将会关闭连接。       client_header_buffer_size    1k;      large_client_header_buffers  4 4k;      sendfile        on;tcp_nopush      on;      tcp_nodelay     on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;  #第一个参数指定客户端连接保持活动的超时时间,在这个时间之后,服务器会关掉连接,第二个参数是可选的,它指定了消息头保持活动的有效时间,即响应中的timeout=time,它可以告诉某些浏览器关闭连接,因此服务器就不必关闭连接了,如果没有这个参数,Nginx不会发送Keep-Alive头。    gzip  on;#该指令用于开启或关闭gzip模块(on/off)gzip_min_length 1k;#设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。gzip_buffers 4 16k;#设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。#gzip_http_version 1.1;#识别http的协议版本(1.0/1.1)gzip_comp_level 2;#gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript image/gif#匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。gzip_vary on;#和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩upstream localhost {          #根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。          #同一机器在多网情况下,路由切换,ip可能不同          #ip_hash;           server localhost:9097 weight=1 max_fails=2 fail_timeout=3s;          server localhost:9098 weight=1 max_fails=2 fail_timeout=3s;          #jvm_route $cookie_JSESSIONID|sessionid reverse;    #session复制的配置    ip_hash;       }  #upstream backend {#server localhost:9097;#server localhost:9098;#}    server {        listen       80;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        #拒绝访问WEB-INF下的文件location ~ ^/(WEB-INF)/ {              deny all;          }    ###所以的静态文件人gif、jpg等都在本地打开,存放的目录为html,保存时间为30天  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css|js|html)$ {              root html;              access_log off;              expires 30d;          }        location / {            root   html;            index  login;#include     proxy.conf;  #这个文件是我们新建的,要导入proxy_pass   http://localhost;proxy_redirect    off;#defaultproxy_set_header   Host $host;proxy_set_header   X-Real-IP $remote_addr;proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header Via    "nginx";client_max_body_size   10m;client_body_buffer_size   128k;proxy_connect_timeout   1; #90proxy_send_timeout   30; #90proxy_read_timeout   30; #90proxy_buffer_size   4k;proxy_buffers   4 32k;proxy_busy_buffers_size   64k;proxy_temp_file_write_size  64k;          }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        #location ~ \.php$ {        #    root           html;        #    fastcgi_pass   127.0.0.1:9000;        #    fastcgi_index  index.php;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;        #    include        fastcgi_params;        #}        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        #location ~ /\.ht {        #    deny  all;        #}    }    # another virtual host using mix of IP-, name-, and port-based configuration    #    #server {    #    listen       8000;    #    listen       somename:8080;    #    server_name  somename  alias  another.alias;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}    # HTTPS server    #    #server {    #    listen       443;    #    server_name  localhost;    #    ssl                  on;    #    ssl_certificate      cert.pem;    #    ssl_certificate_key  cert.key;    #    ssl_session_timeout  5m;    #    ssl_protocols  SSLv2 SSLv3 TLSv1;    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #    ssl_prefer_server_ciphers   on;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}}


热点排行