标签:nginx
### For more information on configuration, see: ### * Official English Documentation: ### auther:luo.m ##nginx运行用户 user nginx; ##pid路径 pid /run/nginx.pid; ##nginx工作的线程数,auto根据本机cpu颗粒数自动适配. worker_processes auto; ##一个nginx进程打开的最多文件描述符数目,与ulimit -n(系统每个进程可打开的文件数)的值保持一致. worker_rlimit_nofile 65535; ##events模块中包含nginx中所有处理连接的设置. events { ##一个worker进程同时打开的最大连接数,由系统的可用socket连接数限制. worker_connections 51200; ##当nginx接到新连接的请求时,会尽可能的接受更多的连接 multi_accept on; ##Linux2.6+,性能最好的多路IO复用客户端线程的轮询方法. use epoll; } ##HTTP模块控制着nginx之http处理的所有核心特性. http { ##加载MIME类型 include /etc/nginx/mime.types; ##设置文件使用的默认的MIME-type default_type text/html; ##设置头文件中的默认的字符集 charset UTF-8; ##关闭错误页面nginx版本号显示,于安全有益. server_tokens off; ##sendfile减少拷贝文件过程,实现高效数据传输 sendfile on; ##当使用sendfile函数时,tcp_nopush才起作用,一个数据包里发送所有头文件,而不一个接一个的发送 ##它是Nagle算法的进一步增强,即阻塞数据包发送. ##Tcp_nopush选项会让nginx尝试在一个packet内发送其HTTP响应,而不是分帧传送##对优化吞吐率很有用处 tcp_nopush on; ##禁用Nagle算法,益于大量数据的通信性能. tcp_nodelay on; ##关闭日志,减少IO # access_log off; # log_format main ‘[$time_local] ‘ ‘$request_uri ‘ ‘$status $upstream_addr $upstream_status ‘ ‘$upstream_response_time $request_time‘; log_format cache ‘[$time_local] ‘ ‘$request_uri ‘ ‘$status $upstream_addr $upstream_status ‘ ‘$upstream_response_time $request_time‘; # access_log /var/log/nginx/access.log main; ##设置错误日志路径和文件名 error_log /var/log/nginx/error.log; ##当被代理的后端服务器的响应状态码大于等于300时,将响应转发给nginx由error_page指令来处理. proxy_intercept_errors on; ##自定义错误页面 error_page 404 http://static.yunjiweidian.com/error/404.html; error_page 500 502 503 504 http://static.yunjiweidian.com/error/soHot.html; ##keep-alive连接的超时时间,server会在此时间之后关闭连接 keepalive_timeout 13; ##client的请求可以转换成keep-alive连接的数量,影响性能测试,默认100 # keepalive_requests 65535; ##允许server在client停止响应以后关闭连接,释放分配给该连接的内存 reset_timedout_connection on; ##如果client停止读取数据,在此时间以后释放该连接,默认是60秒 send_timeout 6; ##设置用于保存各种key(比如当前连接数)的共享内存的参数 limit_conn_zone $binary_remote_addr zone=addr:24m ; ##为给定的key设置最大连接数,即一个IP地址最多同时打开连接数 limit_conn addr 51200; ##采用gzip压缩的形式发送数据 gzip on; ##为指定的客户端禁用gzip功能 gzip_disable "msie6"; ##压缩所有的请求 gzip_proxied any; ##设置对数据启用压缩的最少字节数,少于1000字节不压缩 gzip_min_length 1000; ##压缩级别 gzip_comp_level 6; ##设置需要压缩的数据格式 gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/jpeg image/gif image/png image/jpg application/x-javascript image/svg+xml application/x-font-ttf application/vnd.ms-fontobject; ##缓存最大数目,以及缓存的时间 open_file_cache max=100000 inactive=20s; ##更新间隔时间 open_file_cache_valid 30s; ##inactive参数时间内文件的最少使用次数,如果超过这个数字,缓存一直存在 open_file_cache_min_uses 2; ##搜索文件时是否缓存错误信息,再次给配置中添加文件 open_file_cache_errors on;# proxy_next_upstream off; ##确定在何种情况下请求将转发到下一个服务器。转发请求只发生在没有数据传递到客户端的过程中##[error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off]##表示只负载一台机器,如果超时则返回,不去轮询其他机器 proxy_next_upstream_tries 1; ##nginx上传文件大小限制,默认值1M client_max_body_size 10m; client_body_buffer_size 128k; ##如果client对于body的请求超过这个时间,则发送"request timed out"响应,默认60秒##防范慢查询攻击 client_body_timeout 10; client_header_timeout 10; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_connect_timeout 13; proxy_send_timeout 21; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 34; #连接成功后,后端服务器响应时间(代理接收超时) proxy_buffer_size 64k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 64k; #proxy_buffers缓冲区,网页平均在32k以下 proxy_busy_buffers_size 128k; #高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 256k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 #当文件超过该参数设置的大小时,nginx会先将文件写入临时目录(缺省为nginx安装目下/proxy_temp目录),注意权限问题 server_names_hash_bucket_size 128; client_header_buffer_size 64k; large_client_header_buffers 4 128k; ##cache声明 proxy_temp_path /etc/nginx/tmp; proxy_cache_path /etc/nginx/neicun levels=1:2 keys_zone=my_cache:512m inactive=30 max_size=4g; include /etc/nginx/conf.d/*.conf; }
本文出自 “运维” 博客,请务必保留此出处http://dropak.blog.51cto.com/12206256/1976320
标签:nginx
原文地址:http://dropak.blog.51cto.com/12206256/1976320