设为首页 收藏本站
查看: 1734|回复: 1

[经验分享] Nginx配置参数优化注解

[复制链接]

尚未签到

发表于 2017-10-27 13:39:00 | 显示全部楼层 |阅读模式
### 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;
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-406061-1-1.html 上篇帖子: nginx部署djanog项目实现高并发并解决开机自运行 下篇帖子: Nginx 之 stub_status log gzip rewrite regerer header 模块介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表